【Android14】注册广播报错One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPO ...

打印 上一主题 下一主题

主题 1000|帖子 1000|积分 3000

1:问题现象

在举行Android平台需求移植的过程中,在某一应用中添加了注册广播相干的代码,在编译完成后出现了,应用克制运行或闪退的现象
log问题:根据操作与log日记的观察,发现在点击应用应用克制运行时抛出了报错,如下
  1. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.soundrecorder/com.sprd.soundrecorder.RecorderActivity}:
  2. java.lang.SecurityException:
  3. com.android.soundrecorder:
  4. One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified
  5. when a receiver isn't being registered exclusively for system broadcasts...
复制代码

2:代码检查

根据代码分析到走入下面方法后就没有走出来:

根据上面log与此处代码判定是注册广播出现了某个问题。
3:分析解决

搜索后知道:
对比Android13,Android14对广播,注册context-registered接收器时须要 指定导出标志
如:
Android13:
  1. registerReceiver(mReceiver, intentFilter);
复制代码
Android14:
  1. registerReceiver(mReceiver, intentFilter,Context.RECEIVER_EXPORTED);
复制代码
即给registerReceiver方法增长第三个参数:
   RECEIVER_EXPORTED
  大概
   RECEIVER_NOT_EXPORTED

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表