我正在尝试创建一个短信会话列表.我正在使用此代码来获取游标:
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 – 如何只获取最近在谈话视图中使用的短信?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)