我正在使用SMSReceiver,当消息到达时,将显示一个显示SMS的地址,消息和时间的对话框。我想在用户单击自定义对话框中的“确定”按钮时删除通知图标。请告诉我如何做到这一点。
先谢谢。
答案 0 :(得分: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
}
}