我试图设置一个接收器,以便在手机重新启动后重新启动我的应用程序警报/通知。广播接收器的权限拒绝
即时得到坚持与权限拒绝错误:
W/BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.BOOT_COMPLETED flg=0x9000010 (has extras) } to com.closedbracket.trackit/.BootBroadcastReceiver requires android.permission.RECEIVE_BOOT_COMPLETED due to sender null (uid 1000)
我已经看了很多的做题呈三角这一点,但还没有找到一个解决办法。
这是我的清单:
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="com.android.permission.RECEIVE_BOOT_COMPLETED" />
<application
....
<receiver
android:name="com.closedbracket.trackit.BootBroadcastReceiver"
android:enabled="true"
android:exported="false"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
</application>
这是我BootBroadcastReceiver:
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("BootBroadcastReceiver", "Received");
}}
我做了重新启动功能与Android Stuido模拟器测试这一点。然后我检查日志,并看到权限拒绝行参考我的广播接收器,并没有看到我的日志的onReceive方法。
从字面上尽我所能,甚至改变清单的android:enable/export值,并在里面添加权限。没有区别。
如果有人有任何想法,请让我知道。谢谢。