ContentObserver监听发送的短信
2016-06-28 19:43
393 查看
package com.test.contentobserver; import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.util.Log; /** * ContentObserver监听发出的短信 */ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //为 content://sms 的数据改变注册监听器 getContentResolver().registerContentObserver( Uri.parse("content://sms"),true,new SmsObserver(new Handler()) ); } private class SmsObserver extends ContentObserver { public SmsObserver(Handler handler) { super(handler); } @Override public void onChange(boolean selfChange) { //查询发送箱中短信(处于正在发送状态的短信放在发送箱) Cursor cursor = getContentResolver().query(Uri.parse("content://sms/outbox"), null,null,null,null); //遍历查询得到的结果集,即可获取用户正在发送的短信 while (cursor.moveToNext()){ StringBuilder sb = new StringBuilder(); //获取短信的发送地址 sb.append("address=").append(cursor.getString(cursor.getColumnIndex("address"))); //获取短信的标题 sb.append(" ; subject=").append(cursor.getString(cursor.getColumnIndex("subject"))); //获取短信的内容 sb.append(" ; body=").append(cursor.getString(cursor.getColumnIndex("body"))); //获取短信的发送时间 sb.append(" ; time=").append(cursor.getString(cursor.getColumnIndex("date"))); Log.d("SmsObserver", "正在发送的短信" + sb.toString()); } } } }
本程序需要如下权限:
<uses-permission android:name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.WRITE_SMS"/>
相关文章推荐
- 截图
- java和js生成二维码
- 最长公共子字符串问题
- 手机测试环境调试 -- 微信,Android,IOS开发使用Fiddler代理
- Qt编译时MinGW去掉对gcc动态库的依赖(去掉对libgcc_s_dw2-1.dll,libstdc++-6.dll的依赖)
- Hibernate一张图
- 开栈纪念
- 标准IO与文件IO的比较
- Class.getResource和ClassLoader.getResource的区别分析
- GCC 中的编译器堆栈保护技术
- filter的使用
- 在微信及支付宝下的音频自动播放
- HTML5 拖放(Drag 和 Drop)
- Java 拓展之调用其他语言
- W3C标准
- Java 拓展之调用其他语言
- Sql Server参数化查询之where in和like实现详解
- Linux达人养成(四) 命令搜索命令
- python中变长参数的用法举例?
- Tomcat源码深入——Servlet容器之外观模式