真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

10天學通Android開發(fā)(3-1)-組件廣播接收器BroadcastReceive

廣播接收器,它和事件處理機制類似,只不過事件的處理機制是程序組件級別的,而廣播處理機制是系統(tǒng)級別的。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供從江網(wǎng)站建設、從江做網(wǎng)站、從江網(wǎng)站設計、從江網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、從江企業(yè)網(wǎng)站模板建站服務,十余年從江做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

BroadcastReceiver如操作系統(tǒng)啟動完畢,發(fā)出廣播信號;低電量提示廣播,應用中耗電量大的部分功能關閉;偵聽短信;

用于接收并處理廣播通知(broadcastannouncements)。多數(shù)的廣播是系統(tǒng)發(fā)起的,如地域變換、電量不足、來電來信等。程序也可以播放一個廣播。程序可以有任意數(shù)量的 broadcast receivers來響應它覺得重要的通知。broadcast receiver可以通過多種方式通知用戶:啟動activity、使用NotificationManager、開啟背景燈、振動設備、播放聲音等,最典型的是在狀態(tài)欄顯示一個圖標,這樣用戶就可以點它打開看通知內(nèi)容。

通常我們的某個應用或系統(tǒng)本身在某些事件(電池電量不足、來電來短信)來臨時會廣播一個Intent出去,我們可以利用注冊一個Broadcast Receiver來監(jiān)聽到這些Intent并獲取Intent中的數(shù)據(jù)。

 

使用場合:通信過程傳遞過來的數(shù)據(jù)量不大,頻度也不高

主要功能

  1. 事件的廣播比價簡單,構建Intent對象,調(diào)用sendBroadcast()方法將廣播發(fā)出

  2. 直接定義事件接收器進行接收,重寫onReceiver

  3. 注冊\注銷Receiver ,registerReceiver(r,filter),       unregisterReceiver(r);

     

 

 

案例:

  1. 創(chuàng)建新工程

  2. 新建一個廣播接收器,類: MyBroadcast擴展自BroadcastReceiver,一旦收到消息,會執(zhí)行抽象方法onReceive,如下:

 

 

publicvoid onReceive(Context arg0, Intent arg1) {

     //TODO Auto-generatedmethod stub

         System.out.println("我收到了你的信息:"+arg1.getStringExtra("MyTxt"));

   }

 

3) AndroidManifest.xml,注冊廣播接收器,類: MyBroadcast。

4)MainActivity加進一按鈕,發(fā)送消息

       android:id="@+id/butSendBroad"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:layout_alignLeft="@+id/textView1"

       android:layout_below="@+id/textView1"

       android:layout_marginTop="29dp"

        android:text="SendBroad" />

5)實現(xiàn)發(fā)送

butSendBroad.setOnClickListener(new View.OnClickListener() {

         

         @Override

         publicvoid onClick(View v) {

 

             Intent i=newIntent(MainActivity.this,MyBroadcast.class);

            

             i.putExtra("MyTxt","HelloBroad");

            

             sendBroadcast(i);

            

          }

        }

       );

6)可先運行,logcat可看到消息

 

7)動態(tài)的注冊和注銷廣播接受器, AndroidManifest中去除廣播接收器類的注冊

 

8)MainActivity中,添加注冊和注銷兩按鈕

       android:id="@+id/btnReg"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:layout_alignLeft="@+id/butSendBroad"

       android:layout_below="@+id/butSendBroad"

       android:layout_marginTop="45dp"

       android:text="Regist"/>

 

   

       android:id="@+id/btnUnReg"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:layout_alignLeft="@+id/btnReg"

       android:layout_centerVertical="true"

        android:text="Unreg" />

9) MyBroadcast指定一地址變量:

 

public static final String ACTION="10-1.intenet.action.mybroad";

 

10)定義MyBroadcast實例

 

private final MyBroadcast MyBRecive=newMyBroadcast();

 

11)實現(xiàn)注冊

btnReg.setOnClickListener(newView.OnClickListener() {

         

         @Override

         publicvoid onClick(View v) {

            //TODO Auto-generatedmethod stub

             registerReceiver(MyBRecive,new IntentFilter(MyBroadcast.ACTION));

            

            

          }

      });

 

12)取消注冊

btnUnReg.setOnClickListener(new View.OnClickListener() {

         

         @Override

         publicvoid onClick(View v) {

            //TODO Auto-generatedmethod stub

             unregisterReceiver(MyBRecive);

            

            

          }

      });

13)發(fā)送廣播更改:

butSendBroad.setOnClickListener(new View.OnClickListener() {

         

         @Override

         publicvoid onClick(View v) {

 

            //Intent i=newIntent(MainActivity.this,MyBroadcast.class);

              Intent i=newIntent(MyBroadcast.ACTION);

            

             i.putExtra("MyTxt","HelloBroad");

            

             sendBroadcast(i);

            

          }

        }

       );

 

參考:

http://www.cnblogs.com/linzheng/archive/2011/01/22/1942053.html

 

×××:

http://down.51cto.com/data/1964492


分享標題:10天學通Android開發(fā)(3-1)-組件廣播接收器BroadcastReceive
分享網(wǎng)址:http://weahome.cn/article/pooedh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部