android– 如何只获取最近在谈话视图中使用的短信?

android– 如何只获取最近在谈话视图中使用的短信?,第1张

概述我正在尝试创建一个短信会话列表.我正在使用此代码来获取游标:Cursorcursor=activity.getContentResolver().query(Uri.parse("content://sms/inbox"),null,null,null,null);问题是,当我使用光标时,我从一个联系人那里收到多条消息.我试图只获取所有联系人的最新消息,以

我正在尝试创建一个短信会话列表.我正在使用此代码来获取游标:

Cursor cursor = activity.getContentResolver().query(Uri.parse("content://sms/inBox"), null, null, null, null); 

问题是,当我使用光标时,我从一个联系人那里收到多条消息.我试图只获取所有联系人的最新消息,以便我可以在recyclervIEw中将它们显示为对话列表.

提前谢谢!

解决方法:

查询“content:// sms / conversations”URI(Telephony.Sms.Conversations.CONTENT_URI)将返回每个会话的摘要,其中“snippet”列(Telephony.Sms.Conversations.SNIPPET)是每个会话中的最后一条消息.

此查询还将返回“msg_count”列(Telephony.Sms.Conversations.MESSAGE_COUNT) – 这是非常不言自明的 – 以及“thread_ID”列(Telephony.Sms.Conversations.THREAD_ID),可用于检索通过查询附加到会话URI的ID来完成对话.例如:

String threadID = ...Uri convoUri = Telephony.Sms.Conversations.CONTENT_URI               .buildUpon().appendpath(threadID).build();

请注意,这些查询将仅返回SMS消息.如果您也想要MMS,则Telephony.Mms和Telephony.MmsSms具有类似的URI.

总结

以上是内存溢出为你收集整理的android – 如何只获取最近在谈话视图中使用的短信?全部内容,希望文章能够帮你解决android – 如何只获取最近在谈话视图中使用的短信?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存