1、intent 判断 intent.getAction()是否与 android.intent.action.BOOT_COMPLETED 相同,发出的是这个,你没监听这个Action 。 另外注意的是,如果是 1以下的系统,没问题。
创新互联专注于合山企业网站建设,自适应网站建设,成都做商城网站。合山网站建设公司,为合山等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
2、通过上面这段话,我们可以知道,如果想让广播能够发送到未启动的应用,必须为广播的Intent添加FLAG_INCLUDE_STOPPED_PACKAGES标记,但是开机广播是系统发出的,我们无法修改。综上所述,自Android1之后,App开机自启无法实现。
3、以后就禁止了第三方应用接收开机广播。有人说应用要打开一次后才能收到,可是经验证是不行的。
4、看系统版本, 低于 1的版本, 无需载体 , 广播都能够 自动运行 。 1以及以后的版本 ,广播 需要有 Activity的支撑,并且运行程序后启动一次,重新开机才能够启动广播,就这点区别。
5、存在一种例外,就是应用程序被adb push you.apk /system/app/下是会自动启动的,不处于stopped状态。
6、有些系统广播需要,addDataScheme才能收到,如mediaScanner。可以先从基本的排查,broadcastReciver重写是否正确?IntentFilter定义是否正确?添加Action是否正正确?注册IntentFileter也是正确?具体问题,需要看源码才知道。
1、以后就禁止了第三方应用接收开机广播。有人说应用要打开一次后才能收到,可是经验证是不行的。
2、最大的可能是广播没有注册 1)第一种不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。
3、看系统版本, 低于 1的版本, 无需载体 , 广播都能够 自动运行 。 1以及以后的版本 ,广播 需要有 Activity的支撑,并且运行程序后启动一次,重新开机才能够启动广播,就这点区别。
4、如果你关过机的话还是建议你加上 action android:name=android.intent.action.BOOT_COMPLETED/ ,然后再试试,希望可以帮到你。
如果activity里没有动态注册监听service发出的ActionS的广播, 即使Activity当前在使用中也不会得到通知, 更不用说未启动的Activity来捕获这个通知了。
具体的看不出来是你代码哪行出的异常,有两种可能,一是在 onDestroy里面你要调用一下超类的super.onDestroy()一下,二是你的service绑定和解除绑定这块可能有问题。
Android中,当Service被kill后,如果重启需要使用BroadcastReceiver来实现,即广播接收者,例如利用BroadcastReceiver注册网络广播或者开关机广播,当接收到广播后直接启动service,这样就可以保证service被kill后,自动启动。
服务是长时间连接,可以做耗时操作,例如用服务控制音乐的播放等。广播需要注册,有两种方式,一个在配置文件里面,一个是代码注册、服务是写一个类继承服务,然后在里面写你的操作,外围实例化服务,去启动服务。
注意:intent-fliter和actio等子标签是对于广播接收receiver的,不是针对服务service的,所以去掉intent-fliter等子标签。改成:Service android:name=.Music /Service 就行了。
如果service节点不见了,那么你调用service的时候,应用应该会崩溃吧。Android0以后好像是有了一定的安全机制了,如果不是设备内置的系统应用,有些功能无法使用。