我遇到了关于android BroadcastReceiver的问题。这是第一次提出有关堆栈溢出的问题,而且我的英语很糟糕。所以我最后再用中文描述这个问题!
我想我的应用程序可以在android系统启动时自动运行。首先我注册一个BroadcasetReceiver,它可以以静态方式(在BOOT_COMPLETED
中)接收AndroidManifest.xml
消息。这个BroadcastReceiver运行良好。 BroadcastReceiver需要启动服务,服务一直在运行,它注册另一个可以动态方式接收CONNECTIVITY_ACTION
消息的BroadcastReceiver。但是当网络发生变化时,应用程序无法接收{只有当应用启动主要活动时,CONNECTIVITY_ACTION
内的消息才会显示HUAWEI
。{它可以在HUAWEI
手机中正常运行。
注意:接收CONNECTIVITY_ACTION
消息的BroadcastReceiver必须以动态方式注册。因为应用程序有时需要取消注册。
(写了一个开机自动启动的程序,开机启动一个服务,这个服务一启动就动态的注册一个监听网络变化的广播接收器,可是在华为的垫上,这个广播接收器始终不能接收到网络状态变化的广播消息,除非启动主活动,但是华为手机没有这个问题!)
答案 0 :(得分:0)
1,您手机的Android版本可能与您的手机版本不同; 2,我建议你以静态方式注册广播; 3,您确定此服务在重启后启动了吗?你可以写日志。