BOOT_COMPLETEDインテントをキャッチしようとしています。受信機では、ログに何かを印刷するだけです。Logcatでこのエラーが発生し、入力したログステートメントが出力されません。マニフェストに許可を設定しました
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
また、レシーバーで必要なインテントフィルターを宣言しました。私は何が間違っているのですか?
BOOT_COMPLETEDインテントをキャッチしようとしています。受信機では、ログに何かを印刷するだけです。Logcatでこのエラーが発生し、入力したログステートメントが出力されません。マニフェストに許可を設定しました
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
また、レシーバーで必要なインテントフィルターを宣言しました。私は何が間違っているのですか?
私は何を間違っていますか?
あなたが提供した限られた情報を考えると、それは答えられません。おそらく、アクション文字列が間違っています<intent-filter>
。
これは、あなたが説明したことだけを行うサンプルプロジェクトです(LogCatにメッセージを書き込むブートタイムレシーバー)。
私も問題を抱えていましたが、この回答を見つけて、CommonsWareのサンプルコードと比較して解決しました:
このエラーは、BroadcastReceiver の onReceive() メソッドで setResultData(...) を呼び出し、順序付けされていないブロードキャストに反応すると発生します。ブート ブロードキャストが順不同のようです。参照:開発者向けドキュメント
@Override
public void onReceive(Context context, Intent intent)
{
try
{
Intent serviceIntent = new Intent(context, MyService.class);
context.startService(serviceIntent);
// setResultData(null);
}
catch (Exception exception)
{
exception.printStackTrace();
}
}