refus d'autorisation sur BroadCast SMS intention
-
26-09-2019 - |
Question
peut diffuser mon activité cette intention de lui-même
Intention i = new Intent ( "android.provider.Telephony.SMS_RECEIVED");
sendBroadcast (i);
Je suis en mesure d'envoyer cette émission et recevez le retour (à partir d'une configuration de récepteur de radiodiffusion dans l'application), mais ce n'est pas une émission globale, à savoir qu'il ne reçoit pas l'application de SMS par défaut. De plus, je reçois cette erreur dans le logcat
Permission refusée: diffusion intention { agir = android.provider.Telephony.SMS_RECEIVED } De com.smartanuj.scale (pid = 3572, uid = 10029) nécessite android.permission.BROADCAST_SMS due au récepteur com.android.mms / com.android.mms.transaction.PrivilegedSmsReceiver
Je l'ai déjà indiqué
<uses-permission> android:name="android.permission.BROADCAST_SMS"></uses-permission>
dans mon fichier manifest
La solution
Seules les demandes signées avec la clé du système peut diffuser l'arrivée de nouveaux messages SMS.
Autres conseils
Il vous suffit d'avoir le privilège BROADCAST_SMS et de générer la PDU par vous-même. Ensuite, il fonctionne. Vous pouvez trouver un résumé ici: http: //blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app (deuxième partie, "Le faire en générant une émission SMS_RECEIVED").