如何隐藏未读短信通知



我正在编写处理短信的应用程序,按照我的计划,它应该取代股票/默认应用程序。

我正在拦截传入短信触发android.provider.Telephony.SMS_RECEIVED广播并发布我自己的通知,然后调用abortBroadcast(),所以最终没有传入新消息的通知,这会导致默认/股票应用程序。

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

我找不到在有未读短信时触发的广播?

有什么想法,提示吗?

您可以通过这种方式设置接收器的优先级,这样您就知道它具有最高优先级并将执行 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>

相关内容

  • 没有找到相关文章

最新更新