如何隐藏未读短信通知?

时间:2012-09-19 14:20:11

标签: android sms broadcastreceiver broadcast read-unread

我正在编写处理SMS的应用程序,并且我计划应该替换库存/默认应用程序。

我正在拦截来自短信的android.provider.Telephony.SMS_RECEIVED广播并发布我自己的通知,然后拨打abortBroadcast(),所以最后没有通知新邮件会导致默认/股票应用

但问题实际上是当用户没有读取足够长的时间(如几分钟时间)时,传入的短信库存/默认应用会产生另一个广播 - 我怀疑只是检查是否有未读的短信。因此,用户会看到2个通知:一个来自默认/股票消息应用程序,另一个来自矿井,这很糟糕。

当找不到短信时我找不到哪个广播?

任何想法,提示?

1 个答案:

答案 0 :(得分:-1)

您可以通过这种方式设置接收器的优先级,因此您知道它具有最高优先级并将执行onReceive()方法:

<receiver android:name=".SmsReceiver" android:enabled="true"
    android:exported="true" android:priority="999">
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>