java.lang.SecurityException: 权限拒绝:在 Android 7(N OS)上不允许发送广播 android.intent.action.NEW_OUTGOING_CALL。

3
我想在Nexus 5x(N OS)设备上使用adb连接进行呼出电话。我发送了一个广播意图并观察到以下错误:

正在广播:Intent { act=android.intent.action.NEW_OUTGOING_CALL (has extras) } java.lang.SecurityException: 权限拒绝:不允许从pid=5569,uid=2000发送广播android.intent.action.NEW_OUTGOING_CALL 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)


请查看以下链接:https://dev59.com/glwY5IYBdhLWcg3wPFqo - Rajesh
你添加了运行时权限吗? - Muhammad Waleed
2个回答

3
引用文档的说法:

这是一个受系统保护的意图,只能由系统发送。

因此,您不能将其用于自己的广播Intent

那么除了实际执行“adb reboot”之外,没有其他测试方法了吗? - JCarlosR
@JCarlosR:我不知道NEW_OUTGOING_CALL Intentadb reboot有什么关系。 - CommonsWare
1
抱歉,我找错页面了。我的意思是 android.intent.action.BOOT_COMPLETED 在 AndroidTV 上也会产生相同的错误。由于它也受到系统保护,我没有找到启动此意图的方法,只能实际重启。 - JCarlosR

3

使用这个命令工作正常:

adb shell su 0 am broadcast -a android.intent.action.NEW_OUTGOING_CALL -e android.intent.extra.PHONE_NUMBER 'xxxxxxxxx'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接