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 {    @Override    protected 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”


在清单文件中加上读写短信的权限即可:


下面是写入一条短信,也需要在清单文件中加入上面的权限:

 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);





更多相关文章

  1. Android(安卓)通过广播接受者监听用户的短信
  2. SharedPreferences读写介绍
  3. Android的/system/lib里加入自己的so库
  4. To fetch EDID from android device
  5. Android——数据存储(四种方式之二)读写SD卡
  6. Jsp读取数据库返回json数据,Android客户端接收json
  7. Android_OTT的update升级包版本信息的读取
  8. Android实现短信验证码自动填写功能
  9. android读取原始的xml文件

随机推荐

  1. 直播代码Android怎么实现定时任务及闹钟?
  2. Android(安卓)自定义Html标签
  3. 讨论会1:Android消息循环机制原理与实现
  4. Android(安卓)Wear 开发-创建第一个卡片
  5. Android(安卓)Http通信
  6. Android(安卓)官方示例:android-architect
  7. Android中的定时器AlarmManager
  8. 关于getting 'android:label' attribute:
  9. Android(安卓)下拉刷新框架实现
  10. Android网易评论盖楼效果实现