步骤:
1.获取内容观察者
ContentResolver contentResolver = getContentResolver();
2.为观察的内容注册观察(也就是在android短信里面的空间,添加观察者)
// uri 短息的地址
// true 代表短信地址符合都行,false代表必须一模一样
// 添加的观察者,做什么事情
Uri uri = Uri.parse("context://sms/"); // 短信
contentResolver.registerContentObserver(uri, true, new MyObserver(
new Handler()));
3.具体观察者
private class MyObserver extends ContentObserver {
public MyObserver(Handler handler) {
super(handler);
}
/**
* 当内容观察这检查到数据库有更新的时候,就会调用该方法
* 也就是当有新的短信更新的时候,都会知道
*/
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Toast.makeText(MainActivity.this, "短信内容有新提示", Toast.LENGTH_SHORT)
.show();
}
}
注释:onChange()方法里面就可以写一些获取短信的内容,发送到自己的服务器,在从
服务器发消息给自己,这样就实现了短信的窃听,但是这样窥探了用户的隐私,不介意使用。