使用BroadCastReceiver删除短信 - Android

Aru*_*run 2 android

我有广播接收器类接收短信,但我不知道如何在到达收件箱之前删除收到的短信以及通知

public void onReceive(Context context, Intent intent) {     
        Bundle pudsBundle = intent.getExtras();     
        Object[] pdus = (Object[]) pudsBundle.get("pdus");
        SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]);        
        Log.i(TAG,  messages.getMessageBody());
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*rla 12

在您的意图过滤器中,您应该将优先级设置为高于系统SMS应用程序.

<intent-filter android:priority="100" ...

然后在你的广播接收器中打电话 abortBroadcast()

   public void onReceive(Context context, Intent intent) {
     //... 
     abortBroadcast();
   }
Run Code Online (Sandbox Code Playgroud)

  • 这不会停止所有广播吗?如果是intent.action().equals("WhateverTheActionIsCalled")他应该有 (3认同)