Android Application des autorisations dans les diffusions, URI


Exemple

Vous pouvez effectuer une vérification des autorisations lors de l'envoi d'une intention à un récepteur de diffusion enregistré. Les autorisations que vous envoyez sont vérifiées avec celles enregistrées sous la balise. Ils restreignent qui peut envoyer des émissions au récepteur associé.

Pour envoyer une demande de diffusion avec des autorisations, spécifiez l'autorisation en tant que chaîne dans l' Context.sendBroadcast(Intent intent, String permission) , mais gardez à l'esprit que l'application du destinataire DOIT avoir cette autorisation pour recevoir votre diffusion. Le récepteur doit être installé avant l'expéditeur.

La signature de la méthode est la suivante:

 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");

et vous pouvez spécifier dans votre manifeste que l'expéditeur de la diffusion doit inclure l'autorisation demandée envoyée via sendBroadcast:

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

Déclarez également l'autorisation dans le manifeste de l'application censée recevoir cette diffusion:

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

Remarque: à la fois un récepteur et un diffuseur peuvent demander une autorisation et, lorsque cela se produit, les deux contrôles d'autorisation doivent être transmis pour que l'intention soit transmise à la cible associée. L'application qui définit l'autorisation doit être installée en premier.

Retrouvez la documentation complète ici sur les autorisations.