如何对短信的threads表进行操作?

bacon36 2010-10-06 02:27:53
最近心血来潮想写一个小软件。我想得到的信息有
1 当前所有短信的线程(threads_id)
2 线程的最后一条短信
3 每一个线程的短信数。
换句话说就是类似系统自带短信或者handcent第一页能看到的信息我都想要


所有这些都在 mmssms.db的threads表中。但是发现sdk中没有给出相关uri。
搜索了一晚上没有解决办法。发现这个链接里的大大有着相似问题。但是最后的解决办法没有写清楚。http://topic.csdn.net/u/20100804/12/67607078-E17C-4AFC-8228-9DCF9A366B03.html

目前已知的是
1.这个threads表无法直接读取。确实没有相关uri。
2.我没有mmssms.db的读取权限。只能使用contentprovide。


由上文链接貌似有人利用
getContentResolver().query(Uri.parse("content://sms/"), new String[]{"* from threads --"}, null, null, null);
搞出来了threads表。。。。我不是专门学编程的。数据库我实在是不在行。已经看了好几天数据库的书了。结果收效不好。麻烦哪位大哥帮帮忙。能导出我要的信息。谢谢。最好有代码。。。。
...全文
196 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
h15011198853 2011-12-12
  • 打赏
  • 举报
回复
你该看看源码
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 l417584711 的回复:]
public static Uri URI_THREAD = Uri.parse("content://mms-sms/conversations").buildUpon().appendQueryParameter(
"simple", "true").build();



threads 可以通过这个uri读取
写入 不行 只能通过函数getorcreatethreadid
[/Quote]

友情帮顶!
aSysBang 2010-10-06
  • 打赏
  • 举报
回复
public static Uri URI_THREAD = Uri.parse("content://mms-sms/conversations").buildUpon().appendQueryParameter(
"simple", "true").build();



threads 可以通过这个uri读取
写入 不行 只能通过函数getorcreatethreadid
bacon36 2010-10-06
  • 打赏
  • 举报
回复
我错了。一直上不了网。其实我贴的那句就已经能解决了(我一开始2了。)。现在问题转变了:我无法读取收件人地址。貌似上一个人也是如此:所以也就是说:我知道的是thread_ID。我现在要通过这个值查找联系人姓名。貌似我必须进行两次数据库操作。即:1通过thread_ID查找发件人address。然后通过address查找联系人姓名和头像。这个我怕太慢了。大家有好的办法么?


PS:小问题:线程之间通信(handlermassage)开销很大么?我想把所有的数据库操作都用另一个线程完成。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧