首先你要傳送乙個廣播
/**
* 傳送廣播
*/private void sendloginbroadcast()
這裡的patrolcontract.update_rw_db是乙個常量,用於在茫茫廣播中找到那個你想要的廣播。我是這樣定義的。
public static final string update_rw_db = "com.longway.action.update_rw_db";
這樣傳送我們就寫好了,接著就要寫接收。和eventbus一樣,接收的類中我們先要註冊廣播
/**
* 註冊廣播
*/private void registerupdatebroadcast()
註冊廣播一般在oncreate中呼叫,ondestroy中則呼叫解除廣播的**,**如下
/**
* 取消廣播
*/private void unregisterupdatebroadcast()
接著就是接收器了
private class updaterwbroadcastreceiver extends broadcastreceiver
}
我們還可以通過intent進行傳值的操作,是不是很簡單。至少我們可以不依賴三方庫操作了。
ps:如果您用的是androidx的環境,如果您這裡想要使用本地廣播,那麼需要新增如下依賴
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
這裡感謝碼友「空指標的皮皮蝦「補充 Android本地廣播機制
引入本地廣播機制的為了解決安全性的問題,優點 1.正在傳送的廣播不會離開我們的程式,不用擔心機密的資料洩露的問題 2.其他的程式無法將廣播傳送到我們的程式的內部,因此不用擔心安全漏洞的問題 3.傳送本地廣播比傳送全域性廣播高效。使用localbroadcastmanager的getinstance ...
Android自定義傳送本地廣播
以前傳送和接收廣播 有序,無序 都屬於系統全域性廣播,傳送的廣播其他任何程式都能接收到。android中本地廣播機制,只能在程式內部進行傳遞。傳送本地廣播 private localbroadcastmanager localbroadcastmanager localbroadcastmanage...
標準廣播,有序廣播,本地廣播和自定義廣播
標準廣播 廣播發出後所有的廣播接收器幾乎均可同時接收,沒有順序並且無法被截斷 動態註冊 intentfilter intentfilter new intentfilter intentfilter.addaction action registerreceiver 繼承broadcastrecei...