如何收听消息阅读事件
Posted
技术标签:
【中文标题】如何收听消息阅读事件【英文标题】:How can I listen for message read event 【发布时间】:2015-12-10 22:19:08 【问题描述】:我正在制作一个小部件,其中我在图标上显示未读消息计数。我正在监听传入的消息,我可以使用意图过滤器增加计数: "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();
但我不想定期调用该函数。反而 如果用户阅读了未读消息,我想减少我的小部件图标的计数。有没有办法可以为“消息读取事件”设置监听器,即如果用户打开未读消息?
【问题讨论】:
您好,您对此有什么解决方案吗? 【参考方案1】:您可以使用 BroadcastReceiver 来解决问题。
请参考链接: http://javapapers.com/android/android-receive-sms-tutorial/
【讨论】:
这个例子是关于拦截和读取传入的消息。我不是在尝试模拟消息应用程序。我正在寻找一种方法来让我的小部件 UI 在任何情况下都保持更新。 IE。即使用户不直接与小部件交互。以上是关于如何收听消息阅读事件的主要内容,如果未能解决你的问题,请参考以下文章