2012-09-19 41 views
1

我正在编写处理SMS的应用程序,因为我计划它应该替换股票/默认应用程序。如何隐藏未读短信通知?

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

但问题是,当用户没有阅读足够长的时间(如几分钟时间)传入短信股票/默认应用程序引发另一个广播 - 我怀疑只是检查有未读的短信。因此,用户会看到2个通知:一个来自默认/股票消息传递应用程序,另一个来自地雷,这是一团糟。

我无法找到哪些广播发射时,有未读的短信?

任何想法,提示?

回答

-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> 
+0

对不起,你应该先仔细阅读我的问题。我已经有接收机处理传入的短信 - 我说的是一个不同的东西 – barmaley