廣播,顧名思義,即是有人要發廣播,有人在收聽廣播
我們在使用的時候,難免會遇到資訊在不同頁面之間相互傳遞的情況,一般來說我們會在頁面跳轉的時候將值傳遞過去,然後被傳遞的頁面在onresume或是oncreate的時候再把值獲取出來。但有些時候我們並不知道將要何時,將值傳到何地(哪個頁面)的時候,廣播將會是乙個不錯的選擇。
廣播分為註冊,傳送,接收,三部分。
註冊分為動態註冊與靜態註冊兩種,不管是哪一種,對廣播的傳送和接收都沒有影響。
靜態註冊:
這裡有兩個基本屬性,receiver的name是接收器的類的名字,action的name可以看作是這條廣播自身的名字,在接收器中可以通過action來識別
動態註冊也同樣:
myreceiver myreceiver;
myreceiver = new myreceiver();
intentfilter intentfilter = new intentfilter();
intentfilter.addaction("broadcast_action");
registerreceiver(myreceiver, intentfilter);
宣告了接收器的類,然後為他增加乙個action的名字作為標識,然後註冊
值得注意的是,動態註冊的廣播在使用完(或是頁面的銷毀的時候)需要手動進行銷毀,否則會有廣播洩露,在下一次不能再次接收到這個廣播。
@override
protected void ondestroy()
intent intent = new intent();
intent.putextra("key", "動態註冊");
intent.setaction("broadcast_action");
sendbroadcast(intent);
通過intent傳遞資訊,在傳遞的時候指定action名稱,並通過putextra傳遞值的資訊。
繼承乙個broadcastreceiver
public class myreceiver extends broadcastreceiver
}
通過intent可以獲取到action與key的值,
一般情況下可以用switch篩選不同的action來區分廣播並進行操作。
安卓開發 ContentProvider使用
contentprovider是安卓開發中,必學的幾大模組之一。下面是使用它來訪問 簿,拿出聯絡人並顯示。package com.example.contentprovidertest import android.os.bundle import android.provider.contacts...
安卓廣播之理論篇
什麼叫廣播?比如 在 android 裡面有各種各樣的廣播,比如電池的使用狀態,的接收和簡訊的接收都會產生乙個廣播,應用程式開發者也可以監聽這些廣播並做出程式邏輯的處理 android廣播的分類 1 普通廣播 normal broadcasts 依次傳遞給各個處理器去處理 完全非同步的,可以在同一時...
安卓的廣播機制學習
今天學習的是安卓中廣播機制,在周五聽完實驗室陽仔的相關報告之後,我動手做了一些小練習,並且在過程中遇到了一些問題。1.在實現button的監聽是,我匯入的onclicklistener的包有誤,並不是android.view.view.onclicklitener 2.靜態註冊接收器時,使用了內部類...