【问题标题】:WARN/ActivityManager(5038): Permission denied: checkComponentPermissionWARN/ActivityManager(5038):权限被拒绝:checkComponentPermission
【发布时间】:2026-02-14 13:15:01
【问题描述】:

我正在从一个应用程序(广播)向另一个应用程序的广播接收器发送意图。我收到错误:

WARN/ActivityManager(5038): Permission denied: checkComponentPermission

【问题讨论】:

  • 我发布这个问题只是为了描述我找到的解决方案:也许可以节省另一个人的时间:问题出在定义 BroadcastReceiver 的应用程序的清单文件中:android:exported 应该定义为真的
  • 谢谢,Herschel - 如果您可以将此作为问题的答案(而不是评论)发布并在 24 小时内将其标记为正确,这将有助于其他人看到此问题已得到解答。
  • @Herschel,请回答您自己的问题,以免出现在未回答的问题列表中。

标签: android android-intent broadcastreceiver


【解决方案1】:

您需要在清单文件下添加权限添加这些

<receiver android:name=".YourBroadCastReceiverName" android:exported="true"></receiver>

【讨论】:

  • 当我尝试在我的真实设备上调试服务时出现同样的问题。将 'android:exported="true" 添加到 AndroidManifest.xml 中的服务标签解决了该问题。不过感谢您的提示。为我节省了数小时的头痛时间。
【解决方案2】:

解决方案是将 android:exported="true" 添加到将由 Intent 调用的活动中。正如另一个答案所建议的,将其添加到接收器对我不起作用,但将其添加到活动中却可以。

【讨论】:

    【解决方案3】:

    Herschel 说:“问题出在应用程序的清单文件中,其中定义了 BroadcastReceiver:android:exported 应该定义为 true”

    【讨论】: