Negação de permissão na intenção de transmissão SMS
-
26-09-2019 - |
Pergunta
Minha atividade pode transmitir essa intenção de si mesma
Intenção i = new Intent ("Android.provider.telephony.sms_received");
sendbroadcast (i);
Consigo enviar esta transmissão e recebê -la de volta (de uma configuração de receptor de transmissão no aplicativo), mas essa não é uma transmissão global, ou seja, não é recebida pelo aplicativo SMS padrão. Além disso, estou recebendo esse erro no logcat
Negação de permissão: intenção de transmissão {Act = Android.provider.telephony.sms_received} de com.smartanuj.scale (pid = 3572, uid = 10029) requer android.permission.broadcast_sms devido ao receptor.android.mmms/comk.mission. mms.Transaction.privilegedsmsReceiver
Eu já especifiquei
<uses-permission> android:name="android.permission.BROADCAST_SMS"></uses-permission>
no meu arquivo manifesto
Solução
Somente aplicativos assinados com a chave do sistema podem transmitir a chegada de novas mensagens SMS.
Outras dicas
Você só precisa ter o privilégio de transmissão e gerar o PDU sozinho. Então funciona. Você pode encontrar um resumo aqui: http://blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app (Segunda parte, "fazendo isso gerando uma transmissão SMS_Received").