android中如何向数据库中插入彩信

ustcnewer09 2010-10-14 04:25:06
我已经把彩信的相关信息(pdu表、part表和addr表)从手机中取出来存在某个文件中,现在删除了手机中的彩信后,想恢复!读取备份文件中的信息,然后再向相关的表中插入,
如:contentResolver.insert(Uri.parse("content://mms"), contentValues);向pdu表中插入彩信的相关信息。
contentResolver.insert(Uri.parse("content://mms/" + msg_id + "/addr"), contentValues1);向addr表中插入彩信相关信息
contentResolver.insert(Uri.parse("content://mms/" + mid + "/part"), contentValues3);向part表中插入彩信相关信息

程序运行正常,LogCat未给出错误信息。用SQLite Maestro查看mmssms.db中的pdu表、part表和addr表,数据均显正常,但是现在的问题是手机界面上却无法显示出彩信。
另外我在往数据库中插入数据时,_id字段没有插入,因为插入记录时,系统自动生成该主键!其他字段都插入到数据库中了
threads表我没有插入任何数据,该表应该是与其他表相关联的,我在插入短信时,同样没有向threads表中插入任何信息,但是threads表中的短信记录会自动生成。另外短信恢复实验成功!
还有就是,目前我向数据库中插入的彩信是不含图片或音视频等文件的,只是单纯的插入一个带subject和文本信息的彩信!
哪位大侠能给我一个思路,彩信相关数据在数据库中存在,但在手机界面打开Messaging程序并没有相关彩信显示...
有点怀疑是不是我还有些彩信数据没有插入到数据库中,或者先前就没有从数据库中取出保存到文件中,因为mmssms.db中的表很多。
...全文
1618 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
米悠悠 2012-10-09
  • 打赏
  • 举报
回复
怎么没有解决呢
scry5566 2012-03-06
  • 打赏
  • 举报
回复
我在做短信备份还原的,短信信息可以查出来了,但是恢复以后,短信程序没有显示恢复的短信,我只是简单的备份了sms这张表的所有内容,恢复也是直接把数据插入这张表!
请问楼主,这个怎么回事啊?你的短信备份源码可否分享一下哪?qq1343929308!
jianweizhang_love 2011-07-27
  • 打赏
  • 举报
回复
顶一下 我也在做彩信的过滤 不知道怎么做……
xiakq 2011-01-21
  • 打赏
  • 举报
回复
有没有人能解答这个问题的?哪位大侠来秀一把!
saviorjin 2011-01-12
  • 打赏
  • 举报
回复
彩信表那个字段是消息内容啊
短信时BODY
看了彩信没有这个字段啊
ugung 2010-12-23
  • 打赏
  • 举报
回复
看不到彩信?你再向那个联系人发一条彩信试试,看看原来的彩信能显示出来不?我恢复的短信也显示不了!

还有如果彩信有附件的时候恢复怎么做? 彩信的附件我能提取出来存放到SD卡里,恢复的时候想反向存回去,但是发现我太天真了!没法实现!!! 你以上的插入彩信数据确定能插到数据库里面吗?我试试先!
ustcnewer09 2010-10-28
  • 打赏
  • 举报
回复
短信的草稿是比较特殊的,在手机上编辑的时候必须有address,就是接收人的号码,如果没有,是不让保存为草稿的,但是输入address保存为草稿后,数据库中只有threads表保存了这个address,我先前发了个贴怎样查询到threads中的数据,后来在其他人的帖子中找到了这个方法,但是只是能查询到threads的数据,并不能进行插入、更新等操作,所以到此为止,能找到草稿短信的address,能做短信草稿箱的备份了!至于彩信,目前我放了放,等有空再探讨吧..
yuqiangcc 2010-10-27
  • 打赏
  • 举报
回复
插入短信的时候有个奇怪的现象,当不插入address项时,threads表不会生成短信。当插入了address项时,threads表就生成了,在手机上也能看到短信。但是在你浏览过短信后,address项的内容就会清空了。而且,当你用手机编辑1条短信,数据库中的address项也是空的,没有地址。(注:编辑的短信是存成草稿的)
yuqiangcc 2010-10-27
  • 打赏
  • 举报
回复
我也遇到相同的问题。想用getContentResolver().query(Uri.parse("content://mms"), new String[]{"insert into threads values('3','1289143470000','0','20','0','0','1,','0','0','0')--"}, null, null, null); 报错。。。怎样才能显示彩信啊,纠结的很
ameyume 2010-10-14
  • 打赏
  • 举报
回复
帮顶,没研究过彩信的原理。
chenyun115 2010-10-14
  • 打赏
  • 举报
回复
谢谢,很受用

80,488

社区成员

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

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