Android 4大コンポーネント-BroadcastReceiver(ブロードキャスト受信機)
3965 ワード
1.ブロードキャストとは
ブロードキャストは、ブロードキャストの送信とブロードキャストの受信によってプロセス間の通信(2つのappの通信)を実現する通信メカニズムである.
2.放送の分類と区別——静的登録と動的登録
ブロードキャストの使用には、BroadcastReceiverを継承し、そのonReceive()ブロードキャスト呼び出しを実装するクラスが必要です.静的登録と動的登録に分けられます.静的登録はmainfestに直接登録されます.たとえば、
//
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="com.example.demo3.pm96" />
// , .
intent-filter>
receiver>
*動的登録は、プライマリ関数で直接生成されます.
MyReceiver myReceiver=new MyReceiver();//
IntentFilter intentFilter=new IntentFilter();// intentFilter
intentFilter.addAction("com.example.demo3.pm96");//intentFilter
registerReceiver(myReceiver,intentFilter);//
*静的登録は、常駐型ブロードキャストです.つまり、アプリケーションがシャットダウンされると、情報がブロードキャストされると、プログラムはシステムによって自動的に実行されます.*動的登録ブロードキャストは、常駐型ブロードキャストではなく、activityのライフサイクルに従うブロードキャストです.注:activityが終了する前に、ブロードキャスト受信機を削除します.削除は
unregisterReceiver(myReceiver);
onDestroy()メソッドに書いたほうがいいです.
3.放送の分類と区別——秩序放送と無秩序放送
順序付けされたブロードキャストは、上のリーダーがタスクを1つのレベルから1つのレベルに転送し、サイズに応じて転送し、静的ロードではたとえば
<receiver android:name=".MyBroadcastReceiver">
// , -1000—1000. 。
<intent-filter android:priority="1000">
<action android:name="com.example.demo3.pm96" />
intent-filter>
receiver>
<receiver android:name=".MyBroadcastReceiver2">
<intent-filter android:priority="100">
<action android:name="com.example.demo3.pm96" />
intent-filter>
receiver>
ダイナミックロードは中間に加算されます
intentFilter.setPriority( );
デフォルトは無秩序放送で、本物の放送のように、すべてのラジオが同時に放送を受信し、同時に行われ、並んでいません.
4.アダプタがブロードキャストインスタンスを送信
android6.0後に必要な権限の詳細、アンドロイド8.0