我有一个广播接收器,它开始接收短信或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);
}
答案 0 :(得分:0)
似乎有一些其他应用正在消耗此事件。例如,GO SMS Pro的优先级设置为2^31-1 = 2147483647
,如果没有明确告知,则会阻止事件传播(中止广播)。
检查手机中是否有处理短信的应用,并尝试将其停用以进行测试。