Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 我的android學習經歷29,android學習經歷29

我的android學習經歷29,android學習經歷29

編輯:關於android開發

我的android學習經歷29,android學習經歷29


四大組件之廣播接收者BroadcastReceiver

新建廣播接收器

需要新建一個類繼承類BroadcastReceiver,並且重寫其中的方法onReceive(),不要在這個方法中添加過多的邏輯或者進行任何耗時的操作,因為在廣播接收者中是不允許開啟線程的。

當接收到指定的廣播時就會執行onReceive()方法中的內容。

注冊廣播接收器可以動態也可以靜態。

這裡簡單介紹一下靜態:

在AndroidManifest.xml的<application></application>中間寫入<receiver></receiver>,在這個標簽中寫入你要注冊的接收器和要接收的廣播

<receiver android:name=".MyBroadcastReceiver">
                <intent-filter >
                    <action android:name="你要接收的廣播" />
                </intent-filter>
            </receiver>

 

MyBroadcastReceiver為接收器,也就是創建的類。action中的name中寫的是要接收的廣播,可以是系統廣播,也可以是自定義的廣播。

有時接收廣播是需要權限的,這個需要注意。

新建廣播

廣播有兩種:標准廣播和有序廣播

標准廣播就是任何注冊接收此廣播的程序都可以接收到,有序廣播就是按照優先級進行接收,並且優先級高的可以通過abortBroadcast(),截斷廣播,後面的接收器將會收不到廣播。

廣播也是用Intent來寫的比如

1 Intent intent=new Intent("廣播名");
2 sentBroadcast(intent);

上面的廣播是sentBroadcast()發出,這個發出的就是標准廣播。使用sentOrderedBroadcast()發出的是有序廣播。

當發出的是有序廣播時,注冊的內容就需要添加優先級priority

1 <receiver android:name=".MyBroadcastReceiver">
2                 <intent-filter  android:priority="100" >
3                     <action android:name="你要接收的廣播" />
4                 </intent-filter>
5             </receiver>

本地廣播

上面發出的廣播都是系統全局廣播,很容易出現安全性問題。使用本地廣播可以簡單解決安全性問題

主要使用一個LocalBroadcastManager來對廣播進行管理,並提供了發送廣播和注冊廣播接收器的方法

 

上面只是簡單介紹一下廣播接收者,如果有什麼問題可以在評論區留言,謝謝!

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