以前傳送和接收廣播(有序,無序)都屬於系統全域性廣播,傳送的廣播其他任何程式都能接收到。
android中本地廣播機制,只能在程式內部進行傳遞。
//傳送本地廣播
private localbroadcastmanager localbroadcastmanager=localbroadcastmanager.getinstance(this);
intent intent=new intent("com.example.broadcast.local_broadcast");
localbroadcastmanager.sendbroadcast(intent);
我寫了乙個簡單例子
核心**如下
public class mainactivity extends activity
});//註冊廣播接收者(***)
intentfilter=new intentfilter();
intentfilter.addaction("com.example.broadcast.local_broadcast");
localreceiver=new localreceiver();
localbroadcastmanager.registerreceiver(localreceiver, intentfilter);
}@override
protected void ondestroy()
class localreceiver extends broadcastreceiver}}
Android自定義傳送有序廣播
有序廣播,是一種同步執行的廣播,在廣播發出之後,同一時刻只會有乙個廣播接收者能夠收到這條廣播訊息,當著個廣播接收者中的邏輯執行完畢後,廣播才回機繼續傳遞。所以此時額廣播接收者是有先後順序的,優先順序高的廣播接收者就可以先收到廣播訊息,並且前面的廣播接收者還可截斷正在傳遞的廣播,這樣後面的廣播接收者就...
Android本地廣播機制
引入本地廣播機制的為了解決安全性的問題,優點 1.正在傳送的廣播不會離開我們的程式,不用擔心機密的資料洩露的問題 2.其他的程式無法將廣播傳送到我們的程式的內部,因此不用擔心安全漏洞的問題 3.傳送本地廣播比傳送全域性廣播高效。使用localbroadcastmanager的getinstance ...
標準廣播,有序廣播,本地廣播和自定義廣播
標準廣播 廣播發出後所有的廣播接收器幾乎均可同時接收,沒有順序並且無法被截斷 動態註冊 intentfilter intentfilter new intentfilter intentfilter.addaction action registerreceiver 繼承broadcastrecei...