【发布时间】:2017-01-29 03:09:09
【问题描述】:
我正在构建一个应用程序,它需要在设备启动时自动启动服务。
我想用 adb 测试这个功能。当我从 adb 发出以下命令时
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
我收到以下错误。
Broadcasting: Intent { act=android.intent.action.BOOT_COMPLETED }
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.BOOT_COMPLETED from pid=3566, uid=2000
at android.os.Parcel.readException(Parcel.java:1683)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:3507)
at com.android.commands.am.Am.sendBroadcast(Am.java:772)
at com.android.commands.am.Am.onRun(Am.java:404)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
at com.android.commands.am.Am.main(Am.java:121)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:262)
根据这个答案stackoverflow.com/a/10105047/106248其他人没有遇到这个问题。
我正在测试的操作系统版本是 Android 7.0。我在真实设备和模拟器上都面临同样的问题。
请帮我解决问题。
谢谢
【问题讨论】:
-
你引用的答案是 2014 年的。这并不能证明人们今天没有遇到这个问题
-
你试过评论里的建议了吗:stackoverflow.com/questions/5051687/…
-
@DavidRawson 是的,我做到了
-
实际上我也无法让它工作 :( 假设它只是 Nougat 的一些新安全设置,然后就放在那里了。
标签: android adb android-broadcastreceiver