溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

android廣播指定權(quán)限

發(fā)布時間:2020-05-19 08:26:40 來源:網(wǎng)絡(luò) 閱讀:5727 作者:whatever957 欄目:移動開發(fā)


1.自己發(fā)送的廣播,只有指定的app才能接收(通過權(quán)限設(shè)置)

//sender app

1.在Androidmanifest.xml中聲明新的權(quán)限:

<permission 

    android:name="com.self.permission.recv_broadcast"

    android:protectionLevel="normal" />

2.發(fā)送廣播時,指定權(quán)限:

sendBroadcast("com.xxx.xxx.action","com.self.permission.recv_broadcast");

經(jīng)過以上2步,使得只有具備com.self.permission.recv_broadcast權(quán)限的Receiver才能接收該廣播。

故,要接收該廣播,接收的app應(yīng)該在其Androidmanifest.xml中聲明使用該權(quán)限:

<uses-permission android:name="com.self.permission.recv_broadcast" />

然后,靜態(tài)注冊則還需在AndroidMainfest.xml中聲明:

<receiver android:name=".XXXReceiver"   

          android:permission="com.self.permission.recv_broadcast">   

    <intent-filter>  

         <action android:name="com.android.XXX_ACTION" />   

    </intent-filter>  

</receiver> 

或者:

//動態(tài)注冊

registerReceiver(receiver, "com.self.permission.recv_broadcast",null);

經(jīng)測試,只要在接收特定權(quán)限廣播的AndroidMainfest.xml中聲明:

<uses-permission android:name="xxx.permission.xx" />

,那么即使不使用registerReceiver(receiver, "xxx.permission.xx",null)權(quán)限注冊方式,而采用簡單的registerReceiver(receiver,filter),這樣,也是可以接收到特定權(quán)限廣播的,因為xml里面已經(jīng)聲明了權(quán)限(注:該種方式只對普通應(yīng)用有效,系統(tǒng)簽名的應(yīng)用通過這種不指明權(quán)限的注冊方法,是不能接收到相應(yīng)廣播的)。


2.自己接收廣播,只有指定的廣播才會接收(也是通過權(quán)限設(shè)置)

//receiver app

1.因為是自己接收特定廣播,故該廣播也是需要某一特定權(quán)限,故先在Androidmanifest.xml中聲明一個新的權(quán)限:

<permission android:name="com.self.permission.send_broadcast" />

2.然后,在自己(Receiver)的<receiver>tag中添加權(quán)限聲明:

<receiver android:name=".XXXReceiver"   

          android:permission="com.self.permission.send_broadcast">   

    <intent-filter>  

         <action android:name="com.android.XXX_ACTION" />   

    </intent-filter>  

</receiver> 

這樣一來,該receiver便只能接收來自具有"com.self.permission.send_broadcast"權(quán)限的應(yīng)用發(fā)出的廣播。

3.要發(fā)送這種廣播,只需在Sender App的AndroidManifest.xml中也聲明使用該權(quán)限即可:

<uses-permission android:name="com.self.permission.send_broadcast" />


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI