【问题标题】:Android: do BroadcastReceivers stop if an app is killed?Android:如果应用程序被杀死,BroadcastReceivers 会停止吗?
【发布时间】:2011-03-27 20:55:36
【问题描述】:

如果在 AndroidManifest.xml 中声明一个 BroadcastReceiver,则接收器可以正常工作,即使在设备启动时我的应用程序尚未启动,但如果我强制我的应用程序从设置停止,接收器似乎会崩溃也是。
难道 Android 2.2 中的“强制停止”也会在应用程序之后进行一些清理(包括 BroadcastReceivers 或可能由应用程序在 AlarmManager 中设置的警报,它应该广播我收到的意图)?
顺便问一下,我如何在 Eclipse 中查看设备中正在发送的所有广播?

【问题讨论】:

    标签: android broadcastreceiver alarmmanager


    【解决方案1】:

    心理,

    不应使用强制停止来尝试从“非运行”状态测试您的应用。我会说这种行为充其量是“未定义的”。在应用程序上使用强制停止后,您必须手动重新启动它才能恢复其任何可用性(包括BroadcastReceiver),这种情况并不少见。如果您的应用能够接收BroadcastReceiverevents,包括 BOOT_COMPLETE Broadcast,那么您实际上不需要进一步测试它。

    我相信强制停止的预期目的是完全停止烦人的应用程序的功能。如果一个应用程序经常在后台运行,因为它接收到大量广播并重新启动,您是否认为强制停止应该阻止这种行为,直到用户手动重新启动应用程序?

    另外,我认为没有办法从 Eclipse 中查看 Broadcast 事件。

    【讨论】:

    • 谢谢,我会记住强制停止是一个特例。我尝试了另一种关闭应用程序的方法 - 除以零 :) - 一切正常,警报和广播接收器。
    【解决方案2】:

    在eclipse中没有办法看到“广播已发送”
    另外,如果你已经在 manifest 中注册了你想要接收事件的广播,那么系统会调用 onReceived 方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      相关资源
      最近更新 更多