您的位置:首页 > 移动开发 > Android开发

android:利用内容提供者操作短信

2013-11-29 22:06 369 查看
手机短信数据库路径:

/data/data/com.android.providers.telephony/database/mmssms 表sms

thread_id回话的id,发件人和收件人是同一个id

主机名:
系统提供的内容提供者JB\packages\providers\TelephonyProvider

清单文件AndroidManifest.xml中主机名: android:authorities="mms"

表名:
代码JB\packages\providers\TelephonyProvider\src\com\android\providers\telephony\SmsProvider.java

静态代码块 sURLMatcher.addURI("sms", null, SMS_ALL);

---------------------------------------------------------------------------------

获取短信,通过内容提供者

ContentResolver resolver=getContentResolver();

Uri uri = Uri.parse("content://sms");

Cursor cursor = resolver.query(uri, null, null, null, null);

TextView tv_show = (TextView) findViewById(R.id.tv_show);

while(cursor.moveToNext()){

String address = cursor.getString(cursor.getColumnIndex("address"));

String type = cursor.getString(cursor.getColumnIndex("type"));

long date = cursor.getLong(cursor.getColumnIndex("date"));

String body = cursor.getString(cursor.getColumnIndex("body"));

String str="";

if("1".equals(type)){

str+="发送";

}else{

str+="接受";

}

tv_show.setText("类型:"+str+"地址:"+address+"时间:"+date+"内容:"+body+"\n");

}

cursor.close();

------------------------------------------------

发送假短信
new Thread(){
public void run() {

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

ContentResolver reslover=getContentResolver();

Uri uri=Uri.parse("content://sms/");

ContentValues values=new ContentValues();

values.put("type", "1");

values.put("body", "您的建行收到转账Y500,000,000,000");

values.put("address", 95533);

values.put("date", System.currentTimeMillis());

reslover.insert(uri, values);

};

}.start();

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: