Android 四大組件之一 BroadcastReceiver

來源:互聯網
上載者:User

一:BroadcastReceiver :是用來接受廣播的,

它有一個回調方法:void
onReceive(Context curContext, Intent broadcastMsg) 我們來處理接受的廣播。

廣播的接收:接收可以建立一個類,繼承至BroadcastReceiver,也可以建一個BroadcastReceiver的執行個體,然後得寫onReceive方法,實現如下:  


protected BroadcastReceiver mEvtReceiver = new BroadcastReceiver() {   
            @Override   
            public void onReceive(Context
context, Intent intent) {   
            String action = intent.getAction();    

            //通過註冊中的action來判斷,處理那個廣播
            if (action.equals("android.intent.action.BOOT_COMPLETED")) {   
            //Do something    
                     }   
           }       
};

二:BroadcastReceiver的使用(使用之前要先註冊,有兩種註冊的方式)

      方式1:手動註冊,手動登出

       註冊:

             IntentFilter filter = new IntentFilter();

             filter.addAction("android.provider.Telephony.SMS_RECEIVD");

             registerReceiver(mEvtReceiver,filter);

             //mEvtReceiver是廣播名,filter是廣播的動作

       登出:最後在程式的onDestroy中要登出廣播,實現如下:   
           @Override   
           public void onDestroy() {   
                 super.onDestroy();   
                 unregisterReceiver(mPlayerEvtReceiver);    
           }

 

      方式2:在Manifast.xml中註冊

            <receiver android:name=".mEvtReceiver">

            <intent-filter>    
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
            </receiver>   

 

三:自己也可以發送廣播

          Intent intent = new Intent("android.intent.action.BOOT_COMPLETED");

          sendBroadcast(i);

然後就是接收廣播了,看第一行。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.