Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> BroadcastReceiver--Android廣播機制,broadcastreceiver

BroadcastReceiver--Android廣播機制,broadcastreceiver

編輯:關於android開發

BroadcastReceiver--Android廣播機制,broadcastreceiver


什麼是廣播

        生活中的電視頻道、收音機、手機、都有自己的特定廣播,他們不管是否有人關心、收聽等,不管你是否看電視,每個頻道都實施按照自己的進步進行播放、收音機也是!所以我理解的android廣播機制也就是這樣--廣播發布者只負責把發生的事件發出,至於是否有接聽者或者接聽者接收到怎樣處理並不關心。

廣播在android中的用途     從上面的介紹不難發現,用來傳輸數據。具體如下:   怎樣實現廣播

         現在我們就來實現一個簡單的廣播程序。Android提供了兩種注冊廣播接受者的形式,分別是在程序中動態注冊和在xml中指定。他們之間的區別就是作用的范圍不同,程序動態注冊的接收者只在程序運行過程中有效,而在xml注冊的接收者不管你的程序有沒有啟動有會起作用。首先介紹在程序中動態注冊的方式。

   Android有系統廣播也可以自定義廣播,要想接受廣播信息,那麼這個廣播接收器就得我們自己來實現了,我們可以繼承BroadcastReceiver,就可以有一個廣播接受器了。有個接受器還不夠,我們還得重寫BroadcastReceiver裡面的onReceiver方法,當來廣播的時候我們要干什麼,下面一個小程序來進行展示廣播的應用。

  一、注冊(當實現了廣播接收器,還要設置廣播接收器接收廣播信息的類型,這裡是信息:android.provider.Telephony.SMS_RECEIVED)

  • 在AndroidManifest.xml中配置廣播
  •  

     

      二、繼承BroadcastReceiver,重寫onReceiver方法。這裡是監聽到短信發送,將觸發這個廣播,然後把短信內容解析出來並展示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class SmsBroadCastReceiver extends BroadcastReceiver    {           @Override      public void onReceive(Context context, Intent intent)       {           Bundle bundle = intent.getExtras();           Object[] object = (Object[])bundle.get("pdus");           SmsMessage sms[]=new SmsMessage[object.length];           for(int i=0;i<object.length;i++)           {               sms[0] = SmsMessage.createFromPdu((byte[])object[i]);               Toast.makeText(context, "來自"+sms[i].getDisplayOriginatingAddress()+" 的消息是:"+sms[i].getDisplayMessageBody(), Toast.LENGTH_SHORT).show();           }           //終止廣播,在這裡我們可以稍微處理,根據用戶輸入的號碼可以實現短信防火牆。           abortBroadcast();       }           

      

    1. 上一頁:
    2. 下一頁:
    熱門文章
    閱讀排行版
    Copyright © Android教程網 All Rights Reserved