Android开发监听短信数据库
2015-09-21 11:43
260 查看
之前写过一篇关于Android开发监听短信的文章,是通过注册一个广播来监听有短信过来的时候读取短信。但是有些手机比如小米手机系统默认把短息最高权限给系统短息,所以当收到短信的时候无法监听。今天跟大家分享另一种方式,通过监听短信数据库来监听短信。
首先写一个内部类继承ContentObserver,java代码如下:
SMSContent就是我们要读取的指定号码发来的短信内容,再根据短信内容做其他操作,我这里就不演示了。
然后在onCreat()里面注册,代码如下:
最后不要忘了在mainfest.xlm里面加上如下权限:
好了,到这里就实现了对短息数据库的监听。
如果需要通过广播方式监听短信,可以阅读我之前的文章:Android开发监听指定号码发来的短信。
首先写一个内部类继承ContentObserver,java代码如下:
<span style="font-family:KaiTi_GB2312;font-size:18px;">class SmsContent extends ContentObserver { public SmsContent(Handler handler) { super(handler); } /** * @Description 当短信表发送改变时,调用该方法 需要两种权限 android.permission.READ_SMS读取短信 * android.permission.WRITE_SMS写短信 * @Author Snake * @Date 2010-1-12 */ @SuppressLint("NewApi") @Override public void onChange(boolean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); // 读取收件箱中指定号码的短信 Cursor cursor = getContentResolver().query( Uri.parse("content://sms/inbox"), new String[] { "_id", "address", "read", "body" }, " address=? and read=? and date > " + (System.currentTimeMillis() - 60 * 1000), new String[] { strDestAddress, "0" ,}, "date desc"); if (cursor.moveToFirst()) { String SMSContent = cursor.getString(cursor.getColumnIndex("body")); }</span>
SMSContent就是我们要读取的指定号码发来的短信内容,再根据短信内容做其他操作,我这里就不演示了。
然后在onCreat()里面注册,代码如下:
<span style="font-family:KaiTi_GB2312;font-size:18px;">SmsContent content = new SmsContent(new Handler()); // 注册短信变化监听 this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content);</span>这样就可以监听到短信了。
最后不要忘了在mainfest.xlm里面加上如下权限:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /></span>
好了,到这里就实现了对短息数据库的监听。
如果需要通过广播方式监听短信,可以阅读我之前的文章:Android开发监听指定号码发来的短信。
相关文章推荐
- Android 连续按两次back键退出系统
- android handler的警告Handler Class Should be Static or Leaks Occur问题处理
- Android获取系统外置存储卡路径的方法
- Android Studio如何添加工程为library
- Android_RadioGroup实现Tab
- Android M新的运行时权限开发者需要知道的一切
- [Android Pro] Android Support 包里究竟有什么
- Android activity和fragment异步传输数据的问题
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- Android 消息机制 (Handler、Message、Looper)
- AndroidStudio 环境变量配置
- Android之socket服务端
- Android
- android 组合模式
- Android简单的将Activity改为Fragment
- Android Studio 初探
- Android 系统时间更新机制
- [Android Pro] fragment中嵌套viewpager,vierpager中有多个fragment,不显示
- 10个经典的Android开源应用项目,提高你的开发能力
- ORM轻量级框架---ActiveAndroid