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

手机短信数据库路径:
/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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值