版权声明:本文为博主原创文章,未经博主允许不得转载。
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/*
* 查看短信数据库中的信息
*/
public void seeSms(View v) {
// 获取内容解析者
ContentResolver cr = getContentResolver();
// 获取sms的uri
Uri uri = Uri.parse("content://sms");
String type = cr.getType(uri);
if (type.startsWith("vnd.android.cursor.dir")) {
// 查看信息的内容,根据自己的需要选择字段
Cursor cursor = cr.query(uri, new String[] { "_id", "address",
"type", "body" }, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(0);
String address = cursor.getString(1);
String type1 = cursor.getString(2);
String body = cursor.getString(3);
//打印出信息
Log.v("520it", id + " " + address + " " + type1+" "+body);
}
cursor.close();
}
}
/*
* 更改短信数据库中的信息
*/
public void upSms(View v) {
// 获取内容解析者
ContentResolver cr = getContentResolver();
// 需求,把id为2的信息内容(body)改为,"好好学习,老王在隔壁"
Uri uri = Uri.parse("content://sms/2");
String type = cr.getType(uri);
if (type.startsWith("vnd.android.cursor.item")) {
ContentValues values=new ContentValues();
values.put("body", "好好学习,老王在隔壁");
cr.update(uri, values, null, null);
}
}
/*
* 删除短信数据库中的信息
*/
public void deleteSms(View v) {
// 获取内容解析者
ContentResolver cr = getContentResolver();
// 需求,那发送方为10086的信息删除
Uri uri = Uri.parse("content://sms");
String type = cr.getType(uri);
if (type.startsWith("vnd.android.cursor.dir")) {
int delete = cr.delete(uri, "address=? and type=?", new String[]{"10086","1"});
}
}
/*
* 向信息数据库中加入自定义信息
*/
public void insetSms(View v) {
// 获取内容解析者
ContentResolver cr = getContentResolver();
// 需求,本地发送到10000的短信,内容为 "没钱了" 当前时间
Uri uri = Uri.parse("content://sms");
String type = cr.getType(uri);
if (type.startsWith("vnd.android.cursor.dir")) {
ContentValues values=new ContentValues();
values.put("address", "110");
values.put("date", System.currentTimeMillis());
values.put("type", 2);
values.put("read", 1);
values.put("body", "没钱了");
values.put("status", -1);
values.put("seen", 1);
Uri insert = cr.insert(uri, values);
Log.v("520it", insert+"");
}
}
}
**********************************************************
权限
<uses-permission android:name="android.permission.WRITE_SMS"/>