2012-09-19 40 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