在廣播 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" />
注意: 接收方和廣播公司都可以要求許可,當發生這種情況時,必須通過兩個許可權檢查才能將意圖傳遞給關聯目標。應首先安裝定義許可權的應用程式。
在此處查詢有關許可權的完整文件。