我创建了一个应用程序来监控呼叫(传入和传出),并且在电话响铃期间,它会显示有关号码的详细信息。来电一切正常,但是当用户拨打电话时,应用程序崩溃并出现以下错误:
05-14 23:14:36.376 1427-1475/? W/BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.PHONE_STATE flg=0x10 (has extras) } to ir.apptune.antispam/.CallReceiver requires android.permission.READ_PRIVILEGED_PHONE_STATE due to sender android (uid 1000)
这是我使用的 sdk 版本的详细信息:
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
我授予的权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.CALL_PHONE" />
我还检查了运行时是否授予了权限。返回 0 表示是。但仍然是同样的错误。
另请考虑清单中的广播接收器声明:
<receiver
android:name=".CallReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
任何帮助表示赞赏。
READ_PRIVILEGED_PHONE_STATE 具有特权 |签名权限,第三方应用不能有此权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)