广播接收器未检测到SMS

时间:2014-12-26 07:05:29

标签: android android-studio broadcastreceiver

我有一个广播接收器,它开始接收短信或WIFI状态变更的活动。它在WIFI状态变化时检测并正常工作,但没有检测到SMS。

这是我的清单

<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

广播接收器的注册

<receiver android:name=".MyReceiver">
   <intent-filter android:priority="999">
     <action android:name="android.provider.Telephony.SMS_RECEIVED" />
     <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
   </intent-filter>
</receiver>

Java代码

public void onReceive(Context context, Intent intent) {
  Intent i = new Intent(Intent.ACTION_MAIN);
  i.setClassName("my_package","my_package.class_name");
  i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  context.startActivity(i);
}

1 个答案:

答案 0 :(得分:0)

似乎有一些其他应用正在消耗此事件。例如,GO SMS Pro的优先级设置为2^31-1 = 2147483647,如果没有明确告知,则会阻止事件传播(中止广播)。

检查手机中是否有处理短信的应用,并尝试将其停用以进行测试。