Android:如果应用程序被杀,BroadcastReceivers会停止吗?

问题描述:

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

心理,

强制停止不应该用于尝试从“未运行”状态测试您的应用程序。我会说这个行为最好是“未定义”。在应用程序上使用强制停止后,您必须手动重新启动才能获得任何可用性(包括BroadcastReceiver),这种情况并不少见。如果您的应用能够收到BroadcastReceiver事件,包括BOOT_COMPLETE Broadcast,则应该不需要进一步测试它。

我相信强制停止的预期目的是完全停止恼人的应用程序的功能。如果应用程序在后台运行,通常是因为它收到大量广播并重新启动,难道你不认为强制停止应该阻止该行为,直到用户手动重新启动应用程序为止?

此外,我不相信有一种方法可以查看来自Eclipse的Broadcast事件。

+1

谢谢,我会记得Force Stop是一个特例。我尝试了另一种关闭我的应用程序的方法 - 除以零:) - 一切正常,都是闹钟和BroadcastReceiver。 – lapis 2011-03-26 18:29:28

在Eclipse中有没有办法看到“广播发送”
此外,如果有清单中注册广播您要接收事件,则系统会调用onReceived方法