Android:如果应用程序被杀,BroadcastReceivers会停止吗?
问题描述:
如果在AndroidManifest.xml中声明了BroadcastReceiver,那么即使在设备启动时,接收器也可以正常工作,但是如果我强制我的应用程序停止在设置中,接收器似乎也会崩溃。
Android 2.2中的“强制停止”是否也会在应用程序之后进行一些清理(包括BroadcastReceivers或AlarmManager中的应用程序设置的应该广播我收到的意图的警报)?
顺便说一下,我如何在Eclipse中看到在设备中发送的所有广播?Android:如果应用程序被杀,BroadcastReceivers会停止吗?
答
心理,
强制停止不应该用于尝试从“未运行”状态测试您的应用程序。我会说这个行为最好是“未定义”。在应用程序上使用强制停止后,您必须手动重新启动才能获得任何可用性(包括BroadcastReceiver
),这种情况并不少见。如果您的应用能够收到BroadcastReceiver
事件,包括BOOT_COMPLETE Broadcast
,则应该不需要进一步测试它。
我相信强制停止的预期目的是完全停止恼人的应用程序的功能。如果应用程序在后台运行,通常是因为它收到大量广播并重新启动,难道你不认为强制停止应该阻止该行为,直到用户手动重新启动应用程序为止?
此外,我不相信有一种方法可以查看来自Eclipse的Broadcast
事件。
答
在Eclipse中有没有办法看到“广播发送”
此外,如果有清单中注册广播您要接收事件,则系统会调用onReceived方法
谢谢,我会记得Force Stop是一个特例。我尝试了另一种关闭我的应用程序的方法 - 除以零:) - 一切正常,都是闹钟和BroadcastReceiver。 – lapis 2011-03-26 18:29:28