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