Android 廣播註冊兩種方式

2021-07-23 12:31:53 字數 2331 閱讀 7918

兩種註冊型別的區別是:

1)第一種不是常駐型廣播,也就是說廣播跟隨activity的生命週期。注意: 在activity結束前,移除廣播接收器。

2)第二種是常駐型,也就是說當應用程式關閉後,如果有資訊廣播來,程式也會被系統呼叫自動執行。

在android下,要想接受廣播資訊,那麼這個廣播接收器就得我們自己來實現了,我們可以繼承broadcastreceiver,就可以有乙個廣播接受器了。有個接受器還不夠,我們還得重寫broadcastreceiver裡面的onreceiver方法,當來廣播的時候我們要幹什麼,這就要我們自己來實現,不過我們可以搞乙個資訊防火牆。具體的**:

public

class

smsbroadcastreceiver 

extends

broadcastreceiver    

//終止廣播,在這裡我們可以稍微處理,根據使用者輸入的號碼可以實現簡訊防火牆。   

abortbroadcast();   

}   

}  

當實現了廣播接收器,還要設定廣播接收器接收廣播資訊的型別,這裡是資訊:android.provider.telephony.sms_received

我們就可以把廣播接收器註冊到系統裡面,可以讓系統知道我們有個廣播接收器。這裡有兩種,一種是**動態註冊:

//生成廣播處理   

smsbroadcastreceiver 

=new

smsbroadcastreceiver();   

//例項化過濾器並設定要過濾的廣播   

intentfilter intentfilter = new intentfilter("android.provider.telephony.sms_received"); 

//註冊廣播   

broadcastreceiveractivity.

this

.registerreceiver(smsbroadcastreceiver, intentfilter);  

一種是在androidmanifest.xml中配置廣播

xml version="1.0" encoding="utf-8"

?>

<

manifest 

xmlns:android

=""package

="spl.broadcastreceiver"

android:versioncode

="1"

android:versionname

="1.0"

>

<

android:icon

="@drawable/icon"

android:label

>

<

activity 

android:name

=".broadcastreceiveractivity"

android:label

>

<

intent-filter

>

<

action 

android:name

="android.intent.action.main"

/>

<

category 

android:name

="android.intent.category.launcher"

/>

intent-filter

>

activity

>

<

receiver 

android:name

=".smsbroadcastreceiver"

>

<

intent-filter 

android:priority

="20"

>

<

action 

android:name

="android.provider.telephony.sms_received"

/>

intent-filter

>

receiver

>

>

<

uses-sdk 

android:minsdkversion

="7"

/>

<

uses-permission 

android:name

="android.permission.receive_sms"

>

uses-permission

>

manifest

>

Android 程式設計下兩種方式註冊廣播的區別

常駐型廣播 常駐型廣播,當你的應用程式關閉了,如果有廣播資訊來,你寫的廣播接收器同樣的能接收到,它的註冊方式就是在你應用程式的androidmanifast.xml 中進行註冊,這種註冊方式通常又被稱作靜態註冊。這種方式可以理解為通過清單檔案註冊的廣播是交給作業系統去處理的。示例 如下 receiv...

Android 監聽wifi廣播的兩種方式

1.xml中宣告 2.中註冊 intentfilter filter new intentfilter filter.addaction wifimanager.network state changed action filter.addaction wifimanager.wifi state ...

Android廣播機制(兩種註冊方法)與中斷廣播

兩種註冊型別的區別是 1 第一種不是常駐型廣播,也就是說廣播跟隨activity的生命週期。注意 在activity結束前,移除廣播接收器。2 第二種是常駐型,也就是說當應用程式關閉後,如果有資訊廣播來,程式也會被系統呼叫自動執行。在android下,要想接受廣播資訊,那麼這個廣播接收器就得我們自己...