@Override
public void onReceive(Context context, Intent intent) {
System.out.println(intent.getAction());
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
if (pdus != null) {
SmsMessage[] message = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
message[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
String smsAddress = message[i].getOriginatingAddress();// 号码
String smsMessageBody = message[i].getMessageBody();// 短信内容
System.out.println(smsAddress+":"+smsMessageBody);
this.abortBroadcast();
}
}
}
}
直接上代码吧,我用广播来拦截短信,可以接收到短信,打印出来了,onReceive方法就是这样,但abortBroadcast()方法不起作用,如何操作可以不让系统接收到短信,求救。
------解决方案--------------------
你的优先级设定的太小,设到比系统大就行了。
在AndroidManifest.xml 中设定。
<intent-filter android:priority="20">
------解决方案--------------------
呵呵呵 优先级