安卓廣播功能簡易使用流程

2021-08-18 12:22:57 字數 1319 閱讀 8635

廣播,顧名思義,即是有人要發廣播,有人在收聽廣播

我們在使用的時候,難免會遇到資訊在不同頁面之間相互傳遞的情況,一般來說我們會在頁面跳轉的時候將值傳遞過去,然後被傳遞的頁面在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.靜態註冊接收器時,使用了內部類...