我在我的應用程序中讀取廣播短信。如何通過我的應用程序閱讀後刪除廣播消息?
我想先檢查該消息中是否存在特定模式。如果不存在,那麼我想刪除該短信而不將其保存在收件箱文件夾中。
我能夠在我的應用程序中成功讀取短信,但無法刪除它。代碼片段如下。
public class SmsListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(intent.getAction())) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
for (SmsMessage smsMessage : Telephony.Sms.Intents.getMessagesFromIntent(intent)) {
String messageBody = smsMessage.getMessageBody();
String pattern="$Ntmds";
if(messageBody.indexOf(pattern)!=-1){
Log.d("sdsd,", String.valueOf(messageBody));
}else {
//i want to delete here
// abortBroadcast(); <-- this is nnot working for me
Log.d("vb,", String.valueOf(messageBody));
}
}
}
}
}
}
AndroidManifest.xml中
<receiver android:name=".SmsListener">
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
我嘗試了很多,但沒有得到任何成功。我用abortBroadcast()但它也不適合我。請幫幫我。
您正在使用哪個android版本? –
我用了6.0(棉花糖)。 –
你不應該使用普通的短信作爲基於此端口的短信,所以它從來沒有在一般的收件箱中看到。 –