其实,要达到如题所述的效果很简单,只要注册一个广播,并设置该广播的intent-filter,同时把该intent-filter的优先级设置高于系统优先级
final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
IntentFilter SMSfilter = new IntentFilter(SMS_RECEIVED);
SMSfilter.setPriority(1000);
最后,在onReceive方法的最后,用 this.abortBroadcast();来结束广播的继续发给别的程序,这样系统就不会收到短信广播了,Notification也不会有提示了
注意:这样是可以屏蔽通知栏里新短信的通知,但是,数据库中的新信息也就没有存在了……
继续进一步解决问题喽~
其实,要在通知栏不显示新短信的通知,又不影响数据库中短信的更新操作,只要按如下操作即可:
打开系统自带的短信程序,按Menu键后选择“设置”,下拉到通知设置栏,将通知选项取消。如下图
