1、短信数据库的Uri
content://sms/inbox 收件箱
content://sms/sent 已发送
content://sms/draft 草稿
content://sms/outbox 发件箱
content://sms/failed 发送失败
content://sms/queued 待发送列表
2、.数据库相关字段
_id 一个自增字段,从1开始
thread_id 序号,同一发信人的id相同
address 发件人手机号码(根据这个查找联系人姓名?)
person 联系人列表里的序号,陌生人为null
date 发件日期,单位是milliseconds,从1970/01/01至今所经过的时间)
protocol 协议,分为: 0 SMS_RPOTO, 1 MMS_PROTO
read 是否阅读,0未读, 1已读
status 状态,-1接收,0 complete, 64 pending, 128 failed
type
ALL = 0;
INBOX = 1;
SENT = 2;
DRAFT = 3;
OUTBOX = 4;
FAILED = 5;
QUEUED = 6;
body 短信内容
service_center 短信服务中心号码编号
subject 短信的主题
reply_path_present TP-Reply-Path
locked
3、示例
ContentValues values = new ContentValues();
values.put("address", "188****0000");
values.put("type", "1");
values.put("read", "0");
values.put("body", "我收到一条短信");
values.put("date", new Date().getTime());
values.put("person", "test");
Uri uri =getApplicationContext().getContentResolver().insert(Uri.parse("content://sms/inbox"), values);
工程中需要加入权限:
<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>
分享到:
相关推荐
在Android系统中,访问SMS(Short Message Service,短信)收件箱是一项常见的需求,例如,开发者可能需要构建应用来管理、备份或者分析短信。本文将深入探讨如何在Android中实现这个功能,主要围绕标题“android ...
在Android中,短信通常存储在SQLite数据库中的"SMS"表内,包括收件箱(INBOX)、发件箱(OUTBOX)、草稿箱(DRAFTS)等类别。每条短信都有其特定的ID、类型、地址、时间戳、内容等字段。 1. **权限设置**: 在...
短信根据其类型被分为两类:`inbox`(收件箱)和`sent`(已发送)。 在Android中,访问短信数据库通常通过Content Provider进行,它是Android系统提供的一种数据共享机制。对于短信,我们可以使用`content://sms/`...
例如,`ContentResolver.insert(Uri.parse("content://sms/inbox"), ContentValues)`可以用来插入一条新的短信到收件箱。 2. **BroadcastReceiver**: Android的BroadcastReceiver是用于监听和响应系统广播事件的...
短信数据存储在系统的SMS Content Provider中,通过Uri(统一资源标识符)如`content://sms/inbox`来访问收件箱中的短信。 3. **SQLite数据库**:虽然短信存储在系统Content Provider中,但开发者也可以选择使用...
一旦收到新短信,它会分析短信内容,如果包含关键词或发件人号码在黑名单内,就直接删除该短信,不显示在用户的收件箱中。 三、有效利用 1. **自定义规则**:用户应根据个人需求设置拦截规则,例如只拦截晚上特定...
本知识点将深入探讨如何向Android系统的SQLite数据库中插入短信和彩信数据,以及如何确保这些插入的数据能在用户的收件箱中正常显示。 首先,我们需要理解Android中的短信和彩信管理机制。Android系统使用...
7. **短信类别**:短信可以分为多种类型,如inbox(收件箱)、sent(已发送)、draft(草稿)和outbox(发送中)。通过不同的Uri,我们可以分别访问这些不同类型的短信。 8. **短信格式**:除了文本短信外,还有MMS...
开发者可以通过ContentResolver查询短信,如`Uri.parse("content://sms/inbox")`来获取收件箱中的短信。 - `SmsManager`类用于发送短信,`sendTextMessage()`方法是常用的发送短信接口。 4. **BroadcastReceiver与...
// 获取收件箱短信,也可以是sent(已发送) Cursor cursor = resolver.query(smsUri, null, null, null, null); ``` 遍历cursor,我们可以获取每条短信的详细信息,如发件人、接收时间、内容等: ```java while ...
- 查询短信:使用`ContentResolver.query()`,指定`Telephony.Sms.Inbox.CONTENT_URI`或`Telephony.Sms.Outbox.CONTENT_URI`来获取收件箱或发件箱的短信。 - 数据处理:遍历Cursor,提取短信的发送者、接收者、...
可以读取收件箱、发件箱、草稿箱和已发送的短信。 2. **读取短信**:使用`ContentResolver.query()`方法,指定`Telephony.Sms.Inbox`或`Telephony.Sms.Sent`等URI,获取短信列表。注意,需要`READ_SMS`权限才能读取...
Gmail API是Google提供的服务,开发者可以使用它与Gmail进行交互,包括发送邮件、管理收件箱等。在Android应用中集成Gmail API,需要先在Google Developer Console中注册项目并获取OAuth 2.0客户端ID。源码中应该...
例如,`content://sms/inbox`代表收件箱,`content://sms/sent`代表已发送的短信。 2. **BroadcastReceiver**: 当接收到短信时,系统会发出一个Broadcast Intent,即`android.provider.Telephony.SMS_RECEIVED`。...
// 查询收件箱的短信,也可以是"content://sms/sent"(已发送)或其他类型 Cursor cursor = getContentResolver().query(smsUri, null, null, null, null); ``` 3. **遍历并解析短信**: `Cursor`对象如同SQL...
在短信操作中,我们通常使用`Uri.parse("content://sms/inbox")`来获取收件箱的短信,`Uri.parse("content://sms/sent")`获取已发送的短信。 4. **Intent服务**:为了在后台执行耗时的备份任务,开发者可能会使用...
2. **短信读取和写入**:控件允许读取手机中的短信存储,包括收件箱、发件箱和草稿箱,并支持向手机的短信存储写入新短信。 3. **短信发送**:这是控件最重要的功能,它允许开发者编写VB代码,指定接收者的电话号码...
例如,`Uri.parse("content://sms/inbox")`代表收件箱中的短信,通过`ContentResolver.query()`可以获取到短信数据。每条短信都有一个唯一的_id,以及发件人、内容、时间等字段,我们可以根据这些字段进行筛选和操作...
1. `content://sms/inbox`:这是收件箱的URI,用于获取已接收到的短信。 2. `content://sms/sent`:表示已发送短信的URI,可以用来查询已发送的短信记录。 3. `content://sms/draft`:草稿箱的URI,存储尚未发送的...
主要有 inbox(收件箱)、sent(已发送)、drafts(草稿箱)、outbox(发件箱)等表。 - ** pdu 表**: 存储短信的原始 PDU 数据,用于 SMS 的发送和接收。 - ** threads 表**: 用于组织短信对话,每个线程记录了...