我在 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/