Android ReceiverCallNotAllowedException: BroadcastReceiver components are not allowed to register to receive intents
2015-11-30 10:36
731 查看
ReceiverCallNotAllowedException
mContext.registerReceiver()不能在BroadcastReceiver的onReceive()里面调用可以通过context.getApplicationContext().registerReceiver()来解决
提高context的级别
另外在网上搜索的时候,发现
BroadcastReceiver的onReceive()里面调用bindService()方法也会出现这个Exception
Note: this method can not be called from a BroadcastReceiver component.
A pattern you can use to communicate from a BroadcastReceiver to a Service is to call startService(Intent) with the arguments containing the command to be sent, with the service calling its stopSelf(int) method when done executing that command.
See the API demo App/Service/Service Start Arguments Controller for an illustration of this.
It is okay, however, to use this method from a BroadcastReceiver that has been registered with registerReceiver(BroadcastReceiver, IntentFilter), since the lifetime of this BroadcastReceiver is tied to another object (the one that registered it).
bindService不能在BroadcastReceiver 中调用,你可以在里面调用StartService并把要传递参数放到intent中
相关文章推荐
- Android 内存优化
- android.view.view
- android 百度地图开发
- android将Bitmap转换成文件
- Android 中使用的设计模式
- 开源photoview
- Android 颜色值透明度效果设置
- android touch事件分发、拦截和响应分析
- android ContentObserver和DatasetObserver的区别
- android 开机默认语言等其它默认配置项的配置
- Android USB Host的使用详解
- android gradle配置
- android ScrollView滚动距离和判断滚动停止状态
- android:windowSoftInputMode属性详解
- android gridview 属性集合
- android studio 使用retrolambda库 让代码支持lambda 表达式
- android属性动画
- android使用上下文context浅说
- Android SurfaceView的理解与使用
- Android跳转到应用市场进行评分