2017-08-11 29 views
0

イム。許可拒否

イムはパーミッション拒否エラーで立ち往生:私はこれまでsimillar SO多くの質問を見てきましたが、まだ解決策を見つけていない

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エミュレータでこれをテストしています。私はログをチェックして、私の放送受信機を参照してPermission Denial行を見て、onReceiveメソッドのログを見ません。有効/エクスポート値を、その内部の許可を追加:

は文字通りにもマニフェストのアンドロイドを変更し、私ができるすべてのものを試してみました。違いはありません。

誰かがアイディアを持っている場合は、私に知らせてください。ありがとうございました。

答えて

2

許可はcom.android.permission.RECEIVE_BOOT_COMPLETEDですが、エラーメッセージにはandroid.permission.RECEIVE_BOOT_COMPLETEDがあり、先頭にcom.が含まれていないと想定されています。

0

あなただけのインテントフィルタごとにアクションを持つことができます。それがあなたの問題です。 何らかの理由で、あなたのケースQUICKBOOT_POWERUNのリストの最後のものに戻ります。 2つのインテントフィルタをブロードキャストレシーバに追加します。それぞれ1つのアクションのみがあり、両方のブロードキャストを正常に受信します。

関連する問題