我試圖設置一個接收器,以便在手機重新啓動後重新啓動我的應用程序警報/通知。廣播接收器的權限拒絕
即時得到堅持與權限拒絕錯誤:
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值,並在裏面添加權限。沒有區別。
如果有人有任何想法,請讓我知道。謝謝。