我正在使用 SMSReceiver,当消息到达时,将显示一个对话框来显示 SMS 的地址、消息和时间。当用户单击自定义对话框中的确定按钮时,我想删除通知图标。请让我知道我该怎么做。
提前致谢。
我正在使用 SMSReceiver,当消息到达时,将显示一个对话框来显示 SMS 的地址、消息和时间。当用户单击自定义对话框中的确定按钮时,我想删除通知图标。请让我知道我该怎么做。
提前致谢。
无法直接删除通知。这是因为通知是由不同的应用程序(系统消息应用程序或自定义 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
}
}