【问题标题】:How to hide unread SMS notification?如何隐藏未读短信通知?
【发布时间】:2012-09-19 14:20:11
【问题描述】:

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

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

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

当有未读短信时,我找不到触发哪个广播?

有什么想法、提示吗?

【问题讨论】:

    标签: android sms broadcastreceiver broadcast read-unread


    【解决方案1】:

    你可以这样设置你的receiver的优先级,这样你就知道它的优先级最高,会执行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>
    

    【讨论】:

    • 对不起,你应该先仔细阅读我的问题。我已经有了处理传入短信的接收器 - 我在谈论一些不同的事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多