Отказ в разрешении на отправку SMS-сообщений BroadCast - PullRequest
1 голос
/ 29 сентября 2010

может ли моя деятельность передать это намерение от себя

Intent i = new Intent ("android.provider.Telephony.SMS_RECEIVED");

sendBroadcast (я);

Я могу отправить эту трансляцию и получить ее обратно (из настройки приемника трансляции в приложении), но это не глобальная трансляция, т. Е. Она не принимается приложением SMS по умолчанию. Более того, я получаю эту ошибку в logcat

Отказ в разрешении: намерение вещания { действовать = android.provider.Telephony.SMS_RECEIVED } из com.smartanuj.scale (pid = 3572, uid = 10029) требует android.permission.BROADCAST_SMS из-за к получателю com.android.mms / com.android.mms.transaction.PrivilegedSmsReceiver

Я уже указал

 <uses-permission> android:name="android.permission.BROADCAST_SMS"></uses-permission>

в моем файле манифеста

Ответы [ 2 ]

7 голосов
/ 29 сентября 2010

Только приложения, подписанные с помощью системного ключа, могут транслировать приход новых SMS-сообщений.

3 голосов
/ 12 декабря 2011

Вам нужно иметь только привилегию BROADCAST_SMS и генерировать PDU самостоятельно.Тогда это работает.Вы можете найти сводку здесь: http://blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app (вторая часть, «Выполнение путем генерации трансляции SMS_RECEIVED»).

...