2015-09-14 81 views
1

我正在製作一個小部件,其中顯示圖標上的未讀郵件數。我聽傳入的消息,在這我可以增加計數,使用意圖過濾器: 「android.provider.Telephony.SMS_RECEIVED」如何偵聽郵件讀取事件

我還可以通過執行獲得在任何時間未讀郵件數:

final Uri SMS_INBOX = Uri.parse("content://sms/inbox"); 
Cursor c = context.getContentResolver().query(SMS_INBOX, null, "read = 0", null, null); 
int unreadMessagesCount = c.getCount(); 

但我不想保持定期調用該函數。如果用戶讀取未讀消息,而是想要減少我的小部件圖標上的計數,請改爲 。有沒有一種方法可以爲'消息讀取事件'設置偵聽器,即如果用戶打開未讀消息?

+0

嗨,你對此有什麼解決辦法嗎? – Taras

回答

0

您可以使用BroadcastReceiver來解決問題。

請參考鏈接: http://javapapers.com/android/android-receive-sms-tutorial/

+1

這個例子是關於截取和讀取傳入的消息。我不想模擬消息應用程序。我正在尋找一種方法來在所有情況下更新我的小部件UI。即即使用戶不直接與小部件交互。 – mukul