Android短信管理
来源:互联网 发布:软件项目开发文档 编辑:程序博客网 时间:2024/05/16 09:15
Android手机系统自带的短信应用,收发的短信都存储在data/data/com.android.providers.telephony/databases文件夹下的mmssms.db数据库中的sms表中。调用该系统短信应用的uri是:content://sms/
表中的_id是自增的主键、address列是收发的手机号、date列是收发时间的时间戳、type列标识是收还是发:1表示收,2表示发、body列是收发的短信内容。
备份短信到本地SD卡时,需要添加写SD卡的权限,以及读系统短信和写系统短信的权限。
/** * 备份短信 * * @param v */public void backupSms(View v) {// 1.从系统短信的内容提供者中获取所有短信Uri uri = Uri.parse("content://sms/");Cursor cursor = getContentResolver().query(uri,new String[] { "_id", "address", "date", "type", "body" },null, null, null);if (cursor != null && cursor.getCount() > 0) {List<SmsInfo> smsList = new ArrayList<SmsInfo>();SmsInfo sms;while (cursor.moveToNext()) {sms = new SmsInfo();sms.set_id(cursor.getInt(0));sms.setAddress(cursor.getString(1));sms.setDate(cursor.getLong(2));sms.setType(cursor.getInt(3));sms.setBody(cursor.getString(4));smsList.add(sms);}cursor.close();// 2.序列化到本地writeToLocal(smsList);}}
休眠时用SystemClock.sleep(1000);不用抛异常。
开启子线程向系统短信的数据库中写一条短信(相亲神器):
// 停10秒钟, 向系统短信数据库中写一条短信new Thread(new Runnable() {@Overridepublic void run() {SystemClock.sleep(10 * 1000);//休眠10秒钟Uri uri = Uri.parse("content://sms/");// 操作sms表的uriContentValues values = new ContentValues();values.put("address", "95558");values.put("type", "1");values.put("body", "您尾号是4633的中信卡账户, 收到RMB100, 000.00的转账,当前余额为: RMB899, 000.00【中信银行】");getContentResolver().insert(uri, values);}}).start();
手机上的联系人存储在data/data/com.android.providers.contacts/databases目录下的contacts2.db数据库中的raw_contacts表和data表中。
查询联系人信息时:
1、查询raw_contacts表中所有联系人的_id
2、到data表中查询对应raw_contact_id=_id的data1列、mimetype列的数据信息。data1列的数据信息根据mimetype_id列的值的不同,保存的信息也不同。
操作这两个表的uri分别是:
content://com.android.contacts/raw_contacts
content://com.android.contacts/data
查询联系人要添加读联系人的权限。
添加联系人信息时:
1、在raw_contacts表中添加一条记录:本表中contact_id的值是等于_id的值的。
查询raw_contacts表中contact_id的最大值("contact_id desc limit 1"),加1添加到本表中。
2、根据添加的contact_id的值(即_id的值)到data表中根据mimetype值的不同添加data1列的记录,还要添加raw_contact_id的值,其值等于contact_id。
添加联系人要添加写联系人的权限。
- android 中管理短信
- android 中管理短信
- android 中管理短信
- android 中管理短信
- android 中管理短信
- 【Android】短信管理代码
- android 中管理短信
- android 中管理短信
- android 中管理短信
- Android 中管理短信
- android 中管理短信
- android 中管理短信
- android 中管理短信
- android 中管理短信
- android 中管理短信
- android 中管理短信
- Android短信管理
- android 中管理短信
- 【Oracle练习】②第3章 限制数据和对数据排序
- HDU2680Choose the best route
- 女生程序员的路:向左,向右
- 恢复 Ubuntu 的面板到默认设置
- hdu 4893 线段树 --- 也是两个变 类似双标记
- Android短信管理
- 经典DP问题
- 离线版MSDN下载地址
- hdu-2187悼念512汶川大地震遇难同胞——老人是真饿了(贪心)
- Java中无法引用没有包、默认包、顶级类
- poj2299--B - Ultra-QuickSort(线段树,离散化)
- 设计模式概述【整理】
- 在centos6中同时使用python2和python3
- gedit下汇编不高亮显示的解决办法