四大元件之一BroadCastRecevier

2021-07-25 11:08:01 字數 1025 閱讀 1118

broadcastrecevier廣播接收者(經典案列發蘑菇,簡訊竊聽,ip撥號)

基本概念:在android 中,broadcast 是一種廣泛運用的在應用程式之間傳輸資訊的機制。

而broadcastreceiver 是對傳送出來的broadcast 進行過濾接受並響應的一類元件,

是android 四大元件之一。

廣播接收者(broadcastreceiver)用於接收廣播的,廣播的傳送是通過呼叫

sendbroadcast(intent)/sendorderedbroadcast(intent)來實現,乙個廣播可以被多個廣播接收者所接收。

廣播可以分為兩類:

無序廣播(普通廣播)和有序廣播

普通廣播:是完全非同步(就是不會被某個廣播接收者終止)的,可以在同一時刻(邏輯上)被所有接收者接收到,

有序廣播:是按照接收者宣告的優先級別,被接收者依次接收廣播。a--->b--->c在傳遞過程中,有乙個程式被終止,那麼後面的就接收不到訊息

廣播接收者屬於四大元件之一,因此通常需要在androidmanifest.xml 中進行註冊,優先級別宣告在intent-filter 元素的android:priority 屬性中,

數越大優先級別越高,取值範圍:-1000 到1000,優先級別也可以呼叫intentfilter 物件的setpriority()進行設定。

api:context.sendbroadcast() 傳送的是普通廣播,所有訂閱者都有機會獲得並進行處理。

context.sendorderedbroadcast() 傳送的是有序廣播,系統會根據接收者宣告的優先級別按順序逐個執行接收者,

前面的接收者有權終止廣播(broadcastreceiver.abortbroadcast()),如果前面終止那麼後面就接收不到訊息,

前面的接收者可以將資料通過setresultextras(bundle)方法存放進結果物件,然後傳給下乙個接收者,下乙個接收者通過**:

bundlebundle = getresultextras(true))可以獲取上乙個接收者存入在結果物件中的資料。

安卓四大元件學習之Broadcast

broadcast 廣播 安卓中,廣播是一種常用與應用程式之間進行訊息傳遞的方式。首先講需要傳遞的資訊和用於過濾的資訊裝入 action category 並通過sendbroadcast sendorderbroadcast 或sendstickybroadcast 方法,把 intent物件以廣...

Android四大元件之一 內容提供者

索要方 contentreslver 內容提供方 contentprovider contentprovider內容提供者 四大元件之一 主要用於在不同的應用程式之間實現資料共享的功能。1.提供方 contentprovider 1 建立資料庫,自定義類繼承sqliteopenhelper 2 自定...

四大元件(四) content provider

content provider相當於是程式與程式之間的介面。讓原本不可能通訊的程式,通過內容提供者這個橋梁變得可以通訊。定義乙個類 繼承 contentprovider public class backdoor extends contentprovider 註冊contentprovider ...