Android - ブロードキャスト レシーバーをトリガーして onReceive() メソッドを呼び出すにはどうすればよいでしょうか? 質問する

Android - ブロードキャスト レシーバーをトリガーして onReceive() メソッドを呼び出すにはどうすればよいでしょうか? 質問する

アプリケーションにアラームをスケジュールしました。

アラーム時間になるとブロードキャスト レシーバーがトリガーされるように実装しました。

コードを 2 回複製せずに、ブロードキャスト レシーバーを手動で呼び出して onReceive メソッド内のコードを実行する方法。

ユーティリティ シングルトン呼び出しのコードを作成し、どこからでも util クラス インスタンスを取得してそのメソッドを呼び出すことを考えました。

しかし、onReceive メソッドを直接呼び出す他の方法はありますか、そうでなければ、問題のあるブロードキャスト インテントになります。

android:exported="false" //マニフェスト ファイルで定義する場合のレシーバーの追加パラメーター。

もう 1 つの質問は、エクスポートされたパラメーターが何を意味するかということです。これを理解するのを手伝ってください。

ベストアンサー1

1.BroadcastReceiver手動で起動する方法は、

Intent intent = new Intent("com.myapp.mycustomaction");
sendBroadcast(intent);

はマニフェストで"com.myapp.mycustomaction"に指定されたアクションです。これはまたはから呼び出すことができます。BroadcastReceiverActivityService

2.Android では、アプリケーションが他のアプリケーションのコンポーネントを使用できることが知られています。この方法では、マニフェストで属性が設定されていれば、アプリケーションの 、ActivityServiceBroadcastReceiverを外部アプリケーションから起動できます。 に設定されている場合、このコンポーネントは外部アプリケーションから起動できません。ContentProviderandroid:exported = trueandroid:exported = falseここ

おすすめ記事