2 enight0000 enight0000 于 2014.08.24 17:41 提问

安卓程序在什么条件下可以接受广播?

最近在做一个测试程序的时候想到了这个问题,但是由于实验条件有限,没时间做这个测试。希望知道答案的大牛解答一下。
假设一个应用自从安装在手机上以后**从来没有运行过**(包括安装完毕也没点击运行)
1.此应用**能否接受**网络变更(android.net.conn.CONNECTIVITY_CHANGE)等类似的广播?自定义广播?
2.假如手机重启,此应用**能否接受**开机自启动广播?(android.intent.action.BOOT_COMPLETED)
补充:拥有开机启动权限

2个回答

qinxiandiqi
qinxiandiqi   2014.08.24 22:43

Android的广播有两种注册方式。如果是在程序代码中动态注册的广播,程序没有运行就不会接收到相应的广播。如果注册在AndroidManifest.xml中,这种广播属于全局广播,程序安装的时候就注册到了系统上面,就算程序没有运行过也可以接收到相应的广播。

qinxiandiqi
qinxiandiqi Sorry,我以前使用开机广播的时候,那个时候主流系统版本还是Android 2.3,好像Android3.1之后Android广播机制有修改。这篇博文写的很详细,你可以参考一下:http://blog.csdn.net/whu_zhangmin/article/details/18654031
大约 3 年之前 回复
enight0000
enight0000 在我测试的时候没有收到广播消息,但是运行之后就可以接受了。这是什么原因?
大约 3 年之前 回复
dsmjy
dsmjy   2014.08.25 12:44

直接安装调频软件最省事

enight0000
enight0000 不懂,具体点
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片