1

我正在使用 SMSReceiver,当消息到达时,将显示一个对话框来显示 SMS 的地址、消息和时间。当用户单击自定义对话框中的确定按钮时,我想删除通知图标。请让我知道我该怎么做。

提前致谢。

4

1 回答 1

1

无法直接删除通知。这是因为通知是由不同的应用程序(系统消息应用程序或自定义 SMS 应用程序)生成的。只有生成通知的应用程序才能删除它们。

但是,您可以尝试做一些事情。

您可以为传入的 SMS 使用系统广播,而不是进一步传播它,这意味着负责处理 SMS 消息的其他应用程序不会被告知正在传递的新消息。

为此,您应该:

增加接收器的优先级:

 <receiver android:name=".SmsReceiver">
         <intent-filter android:priority="1000">
             <action android:name="android.provider.Telephony.SMS_RECEIVED" />
         </intent-filter>
     </receiver>

onReceive()在您的实现中中止广播:

 public void onReceive(Context context, Intent intent) {
     if (intent.getAction().equals(SMS_RECEIVED)) {
         // Do whatever with the message
         abortBroadcast(); // Stop the broadcast from being propagated further
     }
 }
于 2012-09-09T10:35:21.450 回答