Android 4大コンポーネント-BroadcastReceiver(ブロードキャスト受信機)


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