只有在后台启动服务的Android应用程序无法接收广播消息

时间:2017-01-13 06:54:11

标签: android service broadcastreceiver

我遇到了关于android BroadcastReceiver的问题。这是第一次提出有关堆栈溢出的问题,而且我的英语很糟糕。所以我最后再用中文描述这个问题!

我想我的应用程序可以在android系统启动时自动运行。首先我注册一个BroadcasetReceiver,它可以以静态方式(在BOOT_COMPLETED中)接收AndroidManifest.xml消息。这个BroadcastReceiver运行良好。 BroadcastReceiver需要启动服务,服务一直在运行,它注册另一个可以动态方式接收CONNECTIVITY_ACTION消息的BroadcastReceiver。但是当网络发生变化时,应用程序无法接收{只有当应用启动主要活动时,CONNECTIVITY_ACTION内的消息才会显示HUAWEI。{它可以在HUAWEI手机中正常运行。

注意:接收CONNECTIVITY_ACTION消息的BroadcastReceiver必须以动态方式注册。因为应用程序有时需要取消注册。

(写了一个开机自动启动的程序,开机启动一个服务,这个服务一启动就动态的注册一个监听网络变化的广播接收器,可是在华为的垫上,这个广播接收器始终不能接收到网络状态变化的广播消息,除非启动主活动,但是华为手机没有这个问题!)

1 个答案:

答案 0 :(得分:0)

1,您手机的Android版本可能与您的手机版本不同; 2,我建议你以静态方式注册广播; 3,您确定此服务在重启后启动了吗?你可以写日志。