BroadCast短信意图的权限被拒绝

时间:2010-09-29 08:22:03

标签: android android-intent broadcastreceiver

我的活动可以自己播放这个意图

  

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

     

sendBroadcast(ⅰ);

我能够发送此广播并从其接收(从应用程序中的广播接收器设置),但这不是全局广播,即默认SMS应用程序不接收它。 此外,我在logcat中收到此错误

  

权限拒绝:广播意图   {   ACT = 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 个答案:

答案 0 :(得分:7)

只有使用系统密钥签名的应用程序才可以广播新SMS消息的到达。

答案 1 :(得分:3)

您只需拥有BROADCAST_SMS权限,并自行生成PDU。然后它工作。您可以在此处找到摘要:http://blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app(第二部分,“通过生成SMS_RECEIVED广播来实现”)。