无法从内容中读取:// sms / all

时间:2011-10-14 07:24:16

标签: android uri android-contentprovider

我正在开发一个需要线程短信的应用程序。我能够从收件箱中检索内容,但在线程视图中,必须使用收件箱和已发送的项目填充短信。

另外,content://sms/inboxcontent://sms/sent都运行良好。

如何连接两个URI的内容并按时间顺序排列?

我可以使用content://sms/all吗?

使用ALL CONTENT URI时,会返回游标的空值。

怎么做?

2 个答案:

答案 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。我所做的是 -

  1. content://sms/inbox获取所有短信以获取thread_id

  2. content://sms/sent获取所有短信以获取thread_id

  3. 维护一个arraylist并按照你想要的顺序排序(我使用冒泡排序)

  4. 现在定义并初始化matrixCursor

    (请参阅:http://groups.google.com/group/android-developers/browse_thread/thread/470dd3a1703848eb/d7e70618ce413261?q=MatrixCursor+join+two+tables for MatrixCursor)

  5. 将所有已排序的记录添加到matrixCursor

    (请注意,添加此记录的顺序应该是它们来自何时以及从哪个文件夹(收件箱或已发送).MatrixCursor只允许您创建自定义光标,因此您需要维护序列。)