在廣播 URI 中強制執行許可權

你可以在向註冊的廣播接收器傳送意圖時進行許可權檢查。你傳送的許可權將與在標記下注冊的許可權進行交叉檢查。它們限制誰可以向相關接收者傳送廣播。

要傳送具有許可權的廣播請求,請在 Context.sendBroadcast(Intent intent, String permission) 呼叫中將許可權指定為字串,但請記住,接收方的應用必須具有該許可權才能接收你的廣播。應首先在發件人之前安裝接收器。

方法簽名是:

 void sendBroadcast (Intent intent, String receiverPermission)
 //for example to send a broadcast to Bcastreceiver receiver
 Intent broadcast = new Intent(this, Bcastreceiver.class);
 sendBroadcast(broadcast, "org.quadcore.mypermission");

並且你可以在清單中指定廣播傳送者需要包含通過 sendBroadcast 傳送的請求許可權:

 <!--  Your special permission -->
 <permission android:name="org.quadcore.mypermission" 
    android:label="my_permission" 
    android:protectionLevel="dangerous"></permission>

還宣告應該接收此廣播的應用程式清單中的許可權:

 <!--  I use the permission ! -->
 <uses-permission android:name="org.quadcore.mypermission"/>
 <!-- along with the receiver -->
 <receiver android:name="Bcastreceiver" android:exported="true" />

注意: 接收方和廣播公司都可以要求許可,當發生這種情況時,必須通過兩個許可權檢查才能將意圖傳遞給關聯目標。應首先安裝定義許可權的應用程式。

此處查詢有關許可權的完整文件。