You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

三星Android 7/8/9设备SecurityException权限拒绝问题求助

解决三星Android 7/8/9设备上的java.lang.SecurityException(跨用户权限拒绝)

异常信息

Fatal Exception: java.lang.SecurityException: Permission Denial: broadcast from android asks to run as user -1 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS

解决方案

  • 修正广播的用户ID指定
    不要手动将广播的目标用户ID设置为-1(代表所有用户),普通应用没有权限跨用户发送广播。发送广播时,使用默认的当前用户(用户0)即可,移除任何主动设置setUserId(-1)的代码逻辑,确保广播仅在当前用户空间内传递。

  • 适配三星设备的严格权限校验
    三星在Android 7-9版本中对跨用户操作的权限校验比原生系统更严格:

    • 如果是自定义广播,优先使用局部广播替代全局广播(比如旧版本可用的LocalBroadcastManager),避免触发系统的跨用户权限检查。
    • 如果是监听系统广播,确认是否必须使用该广播,若有替代方案(比如ContentObserver或本地回调),优先替换以绕过权限限制。
  • 放弃申请受限系统权限
    INTERACT_ACROSS_USERS_FULL和INTERACT_ACROSS_USERS属于系统签名级权限,普通应用无法通过Manifest申请获得(即使添加权限声明,安装时也会被系统拒绝),因此不要尝试在Manifest中添加这两个权限。

内容的提问来源于stack exchange,提问作者Ayushi Khandelwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:14:53