具体是在哪儿出现的问题,是onReceive里面挂了还是主进程挂了?什么错误

解决方案 »

  1.   

    注册了没?在AndroidManifest.xml中注册还是在代码中注册了?
      

  2.   

    使用广播接收器有两种方法,一种是建立一个BroadcastReceiver类,这种很常见,任何情况都可以接受;还有一种是在一个应用里注册个接收器,通过registerReceiver,这种需要应用打开的时候才生效,应用销毁了,还要解除注册。
    广播接收器的onReceiver的有效执行时间是10s,一般情况,当这个方法执行完,接收器就销毁了,但是超过10s,即使没执行完毕,也会自动销毁,所以复杂耗时的操作不要放在这里执行,可以把数据通过intent传给一个activity,或service去处理,具体方法和平时一样的操作,只是如果启动外部APK的组件,activity 需要加上setFlags,service需要加上属性 android:exported="true",这样就没什么问题。