android短信数据库(android 短信)

网站建设 140
本篇文章给大家谈谈android短信数据库,以及android 短信对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 android开发 接收短信时在哪个文件写入数据库 data文件加下,具体:/data/data/com.android.providers.telephony/dababases/mmssms.dbandroid怎样读取sms数据库指定字段的数据

本篇文章给大家谈谈android短信数据库,以及android 短信对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

android开发 接收短信时在哪个文件写入数据库

data文件加下,具体:/data/data/com.android.providers.telephony/dababases/mmssms.db

android怎样读取sms数据库指定字段的数据

Android APK操作短信数据时,不能使用SQLHelper直接操作,需要使用协议,协议使用Uri转义

content://sms/inbox 收件箱

content://sms/sent 已发送

content://sms/draft 草稿

content://sms/outbox 发件中

content://sms/failed 失败

content://sms/queued 待发送

数据库中sms相关的字段如下:

_id primary key integer 与words表内的source_id关联

thread_id 会话id,一个联系人的会话一个id,与threads表内的_id关联 integer

address 对方号码 text

person 联系人id integer

date 发件日期 integer

protocol 通信协议,判断是短信还是彩信 integer 0:SMS_RPOTO, 1:MMS_PROTO

read 是否阅读 integer default 0 0:未读, 1:已读

status 状态 integer default-1 -1:接收,

0:complete,

64: pending,

128: failed

type 短信类型 integer 1:inbox

2:sent

3:draft56

4:outbox

5:failed

6:queued

body 内容

service_center 服务中心号码

subject 主题

reply_path_present

locked

error_code

seen

具体使用方法:

Cursor cursor = mContentResolver.query(Uri.parse("content://sms"), String[] projection, String selection, String[] selectionArgs,String sortOrder);

if(cursor!=null)

if(cursor.moveToFirst())

{String address = cursor .getString(draftCursor.getColumnIndexOrThrow("address"));}

query转义sql语句时将query函数中的参数转义为

select projection[] from sms where selection[] = selectionArgs[] order by sortOrder

由于Android2.2 Messaging中存储草稿短信时不会将address存入sms表中,而以thread_id为索引,将草稿短信的address存入canonical_addresses表中而导致仅根据协议无法查询到draft msgs address(这种设计缺陷是因为Android为了使UI更加效率而使draft msgs不同于其他类型的msgs存储方式所导致的),那么根据这样的转义方式我们可以扩展一下这种select语句使他可以查询到sms表以外的东西:

Cursor draftCursor = mResolver.query(Uri.parse("content://sms"),

new String[] {"canonical_addresses.address " +

"from sms,threads,canonical_addresses " +

"where sms.thread_id=threads._id and threads.recipient_ids=canonical_addresses._id and sms._id ='" +

String.valueOf(target_message_id) + "' --"},

null, null, null);

有点耍滑头,是吧,用到了sql语句中注释符号“--”

这样我们就将这个语句转化为了:

select canonical_addresses.address from sms,threads,canonical_addresses where sms.thread_id=threads._id and threads.recipient_ids=canonical_addresses._id and sms._id = 'target_message_id' -- from sms

在sql语句解析的时候,--from sms是不予解析的,所以就成功执行了前面的联合查询操作而得到了我们想要的canonical_addresses表中的address数据。

android 群发短信时怎么将数据插入到数据库中 怎么与非群发区分呢?

Threads.getOrCreateThreadId(this, address) 群发传入的address为 setString类型。

安卓手机短信的db格式的数据库怎么恢复?

安卓手机的短信删除后,会依然保存于db数据库文件中,该文件一般位于手机本向,文件名为mmssms.db,如果删除单条短信,可以基于该DB数据库文件进行恢复,但是如果删除过去时间过久,新的数据可能会覆盖删除过的短信,造成无法恢复,所以,在删除记录后,要及时复制出该文件,及时恢复

怎样取得android短信数据库中发件人收件人的名字

短信数据库中不会存储姓名,只会存储recipient的号码。

thread表中的recipient_ids字段标示该会话有哪些收件人,收件人/发件人的具体信息会存放在canonical_addresses表中。

根据号码查询联系人数据库,即可获取收件人的姓名等信息

联系人的查询方法请参照 Contact.java 中的getContactInfoForPhoneNumber(String number)

关于android短信数据库和android 短信的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

android短信数据库 短信数据库在哪里短信营销数据库工管企业数据库短信Android短信监听Android 读取短信Android短信权限Android拦截短信Android短信监听实现实验Android studio短信实现功能Android设备接收的短信格式是
扫码二维码