android中的廣播接收實現總結


1 首先根據廣播應用內接收和應用外接收,分兩個類進行管理
[1]  LocalBroadcastManager,應用內廣播管理類
[2]  BroadcastManager  廣播管理類(部分應用內,應用外)

2 廣播接收類實現的兩種方式
[1] 代碼生成類,並注冊
public class MessageReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
             
            }
     
     
    }

 //代碼注冊廣播接收類
public void registerMessageReceiver() {
        mMessageReceiver = new MessageReceiver();
        IntentFilter filter = new IntentFilter();
        filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
        filter.addAction(MESSAGE_RECEIVED_ACTION);
        registerReceiver(mMessageReceiver, filter);
    }

[2] 在AndroidManifest.xml 文件中配置廣播接收類
<receiver
            android:name="com.example.jpushdemo.MyReceiver"
            android:enabled="true">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required  用

戶注冊SDK的intent-->
                <action android:name="cn.jpush.android.intent.UNREGISTRATION" />  
                <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required 

 用戶接收SDK消息的intent-->
                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--

Required  用戶接收SDK通知欄信息的intent-->
                <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--

Required  用戶打開自定義通知欄的intent-->
                <action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" /> 

<!--Optional 用戶接受Rich Push Javascript 回調函數的intent-->
                <category android:name="com.example.jpushtest" />
            </intent-filter>
        </receiver>

3 消息發送的兩種方式
    Normal broadcast,通過Context.sendBroadcast 發送,接口器不按照順序,異步處理
    Ordered broadcasts ,通過Context.sendOrderedBroadcast發送,由於每個接收器依次執行時,它可以

傳播的結果到下一個接收器,或者它可以完全中止該廣播,以便它不會被傳遞給其他接收者。排列順序為接

收器的優先級


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM