android - 广播接收器和暂停的 Activity

标签 android broadcastreceiver onpause

我在 Activity 中以编程方式注册了一个广播接收器。它响应 PACKAGE_REMOVED Intent ,当一个包被删除时触发。

问题是,它没有收到此消息。我认为这是因为当我离开 Activity 并移动到另一个 Activity 以卸载应用程序时, Intent 被触发,因此原始 Activity 被暂停。 会不会是一个暂停的 Activity (接收者没有在 onPause 中取消注册)也会暂停接收者?

最佳答案

当您在 Activity 中以编程方式注册广播接收器时, Activity 暂停时它不会收到广播。广播接收器 docs在这一点上并不像他们可能那么清楚。他们建议仅在 onPause 上取消注册以减少系统开销。

如果您想在 Activity 不在前台时接收事件,请使用 receiver 在 list 中注册接收器元素。

关于android - 广播接收器和暂停的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7890363/

相关文章:

android - Parse.com 运行时崩溃 - android

android - java.lang.SecurityException - 不允许启动 Activity Intent { flg=0x4000000 cmp=[MY_ACTIVITY] (has extras) }

android - 如何将字符串值更改为斜体

java - 广播接收器未收到 Intent

java - 如果 Activity 被杀死,Service 会发生什么?

android - 如何强制生命周期从 onPause 到 onResume

Android RecyclerView 最后一项删除(运行时)错误

android - 如何在两个不同的端口接收数据短信

android - 使用 onResume 和 onPause

android - Cocos2dx Android I'm broken phenomenon 启动后是一个图像 Sprite onResume Activity