我正在开发一个需要线程短信的应用程序。我能够从收件箱中检索内容,但在线程视图中,必须使用收件箱和已发送的项目填充短信。
另外,content://sms/inbox
和content://sms/sent
都运行良好。
如何连接两个URI的内容并按时间顺序排列?
我可以使用content://sms/all
吗?
使用ALL CONTENT URI时,会返回游标的空值。
怎么做?
答案 0 :(得分:4)
终于找到了答案..
content://sms/all
是我无法找到的东西。
但是,对于检索已发送和已接收的内容,我们可以使用
Uri selectUri = Uri.parse("content://sms/");
Cursor cur = getContentResolver().query(selectUri,null,"thread_id="+threadid, null,"DATE desc");
此代码段以降序提取和显示
全部谢谢
答案 1 :(得分:0)
我有同样的问题。为此,您可以使用MatrixCursor。我所做的是 -
从content://sms/inbox
获取所有短信以获取thread_id
从content://sms/sent
获取所有短信以获取thread_id
维护一个arraylist并按照你想要的顺序排序(我使用冒泡排序)
现在定义并初始化matrixCursor
(请参阅:http://groups.google.com/group/android-developers/browse_thread/thread/470dd3a1703848eb/d7e70618ce413261?q=MatrixCursor+join+two+tables for MatrixCursor)
将所有已排序的记录添加到matrixCursor
(请注意,添加此记录的顺序应该是它们来自何时以及从哪个文件夹(收件箱或已发送).MatrixCursor只允许您创建自定义光标,因此您需要维护序列。)