使用ContentProvider读取短信,备份短信
android使用内容提供者给我们提供了一些系统数据供我们访问,其中短信的Uri地址为:content://sms/
这样我们就可以去读写短信内容和备份短信...等等。
不清楚ContentProvider可查看:点击打开链接
下面是一个简单的读取短信的例子:
package com.liang.readsms;import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void readSMS(View view) {//读取所有短信Uri uri=Uri.parse("content://sms/");ContentResolver resolver = getContentResolver();Cursor cursor = resolver.query(uri, new String[]{"_id", "address", "body", "date", "type"}, null, null, null);if(cursor!=null&&cursor.getCount()>0){int _id;String address;String body;String date;int type;while (cursor.moveToNext()){_id=cursor.getInt(0);address=cursor.getString(1);body=cursor.getString(2);date=cursor.getString(3);type=cursor.getInt(4);Log.i("test","_id="+_id+" address="+address+" body="+body+" date="+date+" type="+type);}}}
}
上面只是读取了短信的一些关键属性,要查看更多的表的列名,可以查看短信的数据库:
通讯录是:“./data/data/com.android.providers.contacts/databases/contacts2.db”
短信是:“./data/data/com.android.providers.telephony/databases/mmssms.db”
在清单文件中加上读写短信的权限即可:
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>
下面是写入一条短信,也需要在清单文件中加入上面的权限:
ContentResolver resolver = getContentResolver();Uri uri= Uri.parse("content://sms/");ContentValues contentValues=new ContentValues();contentValues.put("type",1);contentValues.put("address","95588");contentValues.put("body","您的尾号为9228的卡新转入1000,00元,余额为5000,000,0.00");resolver.insert(uri,contentValues);
使用ContentProvider读取短信,备份短信相关推荐
- android使用xml备份短信
很多手机助手都有备份短信的功能.原理是先读取用户手机中短信,然后将读取的数据放到服务其中,恢复短信的时候再从服务器中读取备份的短信,将其写入到手机中.安卓系统提供相关API 来读取短信. 安卓保护数据 ...
- ContentProvider实现短信备份
1,需求: 备份短信电话号,和短信内容 2,在短信数据库查看数据 [1]创建一个XML文件来存储短信内容. try {//[1]获取xml序列化器XmlSerializer serializer = ...
- 安卓使用ContentProvider实现读取手机联系人和短信内容
获取联系人效果图: 获取短信效果图: 前提----添加权限: <1>获取手机联系人 通过短信数据库获取联系人内容: Activity代码: package com.example.andr ...
- Android项目:手机安全卫士(14)—— 短信备份
Android项目:手机安全卫士(14)-- 短信备份 1 概述 哈哈,今天又是全新的一天,最近为工作上的事有点闹心,不过学习的心不变,还是需要坚持不懈的努力.今天的任务是实现短信备份功能,这个比较简 ...
- android ContentObserver监听系统短信和备份短信到本地
contentProvider中的一个工具,记录一下. 监听短信: package com.example.messagedemo;import android.net.Uri; import and ...
- Android短信备份案例
[1] 通过使用getContentResolver内容解析者实现短信的读取 , 然后将其备份到xml 文件中, [2]通过getContentResolver还可以实现短信的插入 , 联系人的读取等 ...
- android 短信数据库在哪个文件夹,安卓手机的短信备份后存到了哪个文件夹下
打开备份短信的方法: 1.通过电脑找回手机短信内容的最基本思路,即将保存手机短信容的数据库文件传输到电信上,用相关手机信看工具进找回,对此需要借助第三方ROOt工获取手机ROOT权限. 2.并非所有手 ...
- 未越狱iphone与 Android短信备份迁移攻略
本攻略的原理简单,对小白们操作麻烦,对自己会越狱的同学,又是鸡肋.为了昨天熬夜到2点的辛苦,还是抽出时间写写. 转载自己搬,无需通知本人. 现在许多软件都能实现通讯录和短信 ...
- android手机短信备份软件,手机短信备份软件-SMS Backup Restore Pro(短信备份) 安卓版v7.13-PC6安卓网...
短信备份还原 SMS Backup Restore:短信备份还是很有必要的,遇到一些重要信息的保存,定时备份比较的方便. 官方介绍 短信备份还原 SMS Backup Restore是Android平 ...
最新文章
- 三年python面试题_300道Python面试题
- 模拟浏览器自动化测试工具Selenium之三页面窗口切换开发篇
- python报错处理_python mysql 断连报错处理
- 多线程与并发编程实践
- Redisson框架框架集成
- pip install 安装报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position XX的解决办法...
- 量子计算还没搞懂,光子计算又要来统治世界?
- 【引用】URLDownloadToFile_VB下载文件!
- 1235813找规律第100个数_每日一课:奥数知识点 —— 找简单数列的规律
- Python人工智能第一篇:语音合成和语音识别
- Matlab之生成间距向量函数linspace和logspace
- 每一个互联网公司都要掌握的《计算广告》,它是数据与计算的灵魂
- 办理北京居住证需要的材料
- webassembly学习-modules
- h5页面调用百度地图获取当前位置并在地图上标注出来
- 使用ROS melodic下 控制真实UR5机器人 手把手教程
- Ansible mysql_db模块
- 小学时的游戏——24点
- sprintf_s、_snprintf与_snprintf_s
- 简易封装 element form表单