アプリケーションにアラームをスケジュールしました。
アラーム時間になるとブロードキャスト レシーバーがトリガーされるように実装しました。
コードを 2 回複製せずに、ブロードキャスト レシーバーを手動で呼び出して onReceive メソッド内のコードを実行する方法。
ユーティリティ シングルトン呼び出しのコードを作成し、どこからでも util クラス インスタンスを取得してそのメソッドを呼び出すことを考えました。
しかし、onReceive メソッドを直接呼び出す他の方法はありますか、そうでなければ、問題のあるブロードキャスト インテントになります。
android:exported="false" //マニフェスト ファイルで定義する場合のレシーバーの追加パラメーター。
もう 1 つの質問は、エクスポートされたパラメーターが何を意味するかということです。これを理解するのを手伝ってください。
ベストアンサー1
1.BroadcastReceiver
手動で起動する方法は、
Intent intent = new Intent("com.myapp.mycustomaction");
sendBroadcast(intent);
はマニフェストで"com.myapp.mycustomaction"
に指定されたアクションです。これはまたはから呼び出すことができます。BroadcastReceiver
Activity
Service
2.Android では、アプリケーションが他のアプリケーションのコンポーネントを使用できることが知られています。この方法では、マニフェストで属性が設定されていれば、アプリケーションの 、Activity
、Service
、BroadcastReceiver
を外部アプリケーションから起動できます。 に設定されている場合、このコンポーネントは外部アプリケーションから起動できません。ContentProvider
android:exported = true
android:exported = false
ここ。