0
好吧,这个主题有很多线程,但都是在android 3.1发布之前。 现在,直到用户手动启动应用程序,即广播接收器工作时,广播接收器才会工作,应用程序应处于运行状态而不是停止状态。我现在有一些疑问,特别是BOOT_COMPLETED接收器。Android版本中BroadCast Receiver大于2.3
为什么他们仍然想要BOOT_COMPLETED并且不会让应用程序使用它?我的意思是,这似乎没有意义。当系统启动时,应用程序处于停止状态,如果我没有错,任何应用程序都不会收到此事件。
而且开发者页面我读这上:
“平台定义了两种新的意图的标志,让发件人指定意向是否应该被允许在停止的应用程序,以激活组件
1:FLAG_INCLUDE_STOPPED_PACKAGES — Include intent filters of stopped applications in the list of potential targets to resolve against.
2:FLAG_EXCLUDE_STOPPED_PACKAGES — Exclude intent filters of stopped applications from the list of potential targets"
当我的应用程序处于停止状态时,我是否还可以接收广播?我怎样才能在manifest.xml中注册这些接收器?我知道这些标志被添加到代码中,但是我可以在manifest.xml?
你的意思是一旦应用程序被用户启动,BOOT_COMPLETE将被注册?并会听到这个事件,即使应用程序已关闭? –
是的。一旦由用户启动,该应用不再处于“已停止”状态。即使Android杀死它,它也不会停止 - 它只是不能正常运行。这就是为什么几十个应用程序使用BOOT_COMPLETE。 –
但其他接收器呢?我可以使用他们,当应用程序停止购买使用我提到的标志?? –