首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BroadcastReceiver,它允许呼叫继续进行,但阻止其他接收者处理它?

BroadcastReceiver,它允许呼叫继续进行,但阻止其他接收者处理它?
EN

Stack Overflow用户
提问于 2017-06-19 04:56:45
回答 1查看 65关注 0票数 1

我有一个应用程序,它是一个BroadcastReceiver,它处理NEW_OUTGOING_CALL意图。我的手机上也有其他应用程序被注册为这些意图的接收者,但是我的应用程序是用一个更高优先级的意图过滤器注册的,所以我的BroadcastReceiver可以首先看到意图。

我希望能够以编程的方式阻止任何其他注册的BroadcastReceiver为NEW_OUTGOING_CALL处理这些意图,但我想让电话继续进行。这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-19 05:43:42

我不认为你真的能做你想做的事。此操作的文档非常清楚地描述了系统希望如何处理该广播:

为了保持一致性,任何旨在禁止电话通话的接收器都应该有0的优先级,以确保它将看到要拨打的最终电话号码。任何目的是重写被呼叫的电话号码的接收器都应该有一个积极的优先考虑。该广播系统保留了负优先级;使用这些优先级可能会造成问题。

如果你想先看到号码,你可以这样做(有更高的优先级),但是你必须和其他接收者一起生活,然后你才能看到它。或者,您可以在最后看到数字(通过降低您的优先级到0),但是您必须先与其他接收者一起查看该数字。

请注意,另一个人建议中止广播。这不仅没有意义,因为系统需要广播的结果,而且在文档中也明确说明了不中止此广播。

任何接收此意图的BroadcastReceiver都不能中止广播。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44622518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档