2015-09-14 83 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