由于小米的系统屏蔽了短信广播事件。通过广播事件读取短信的方法失败。

所以使用读取短信数据库的方法来读取短信

需要读取短信权限

    <uses-permission android:name="android.permission.READ_SMS"/><uses-permission android:name="android.permission.SEND_SMS"/>

读取短信类

package com.heima.readsms;import android.app.Activity;
import android.content.ContentValues;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Handler;
import android.os.Message;public class SMSContent extends ContentObserver {private Cursor cursor = null;private String last_id = "";private Activity activity;private Uri uri;public SMSContent(Handler handler, Activity activity) {super(handler);// this.handler = handler;this.activity = activity;}@Overridepublic void onChange(boolean selfChange) {super.onChange(selfChange);// 读取收件箱中指定号码的短信cursor = activity.managedQuery(Uri.parse("content://sms/inbox"),new String[] { "_id", "address", "read", "body" }, "read=?", new String[] { "0" }, "date desc");if (cursor != null) {if (cursor.moveToFirst()) {String phone = cursor.getString(cursor.getColumnIndex("address"));String body = cursor.getString(cursor.getColumnIndex("body"));String _id = cursor.getString(cursor.getColumnIndex("_id"));// 缓存上一次信息if (!last_id.equals(_id)) {System.out.println("1111未接短信---->" + "电话号码:" + phone + "内容:" + body);last_id = _id;System.out.println(_id);ContentValues values = new ContentValues();values.put("read", "1"); // 修改短信为已读模式Message msg = handler.obtainMessage();msg.what = 1;msg.obj = phone;this.handler.sendMessage(msg);}}}cursor.close();}// 处理接收的短信Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 1:System.out.println("处理接收的短信" + msg.obj);break;default:break;}}};}

使用方法:

package com.heima.readsms;import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;public class MainActivity extends Activity {private Handler handler;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SMSContent smsContent = new SMSContent(handler, this);// 注册短信变化监听this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, smsContent);}}

小米手机读取手机短信相关推荐

  1. android手机不能发短信,小米4手机收短信正常但无法发送短信怎么办?

    小编的手机最近突然出现了这样一个问题,什么也没动,突然就无法发送短信了,而状况是一切都正常,收短信也正常,只是发不出去.后来去网上查询,原来很多网友都和小编遇到同样的问题,经过一番折腾,终于找到了解决 ...

  2. 安卓使用ContentProvider实现读取手机联系人和短信内容

    获取联系人效果图: 获取短信效果图: 前提----添加权限: <1>获取手机联系人 通过短信数据库获取联系人内容: Activity代码: package com.example.andr ...

  3. 安卓手机里的短信删除了如何恢复

    安卓手机里的短信删除了如何恢复?生活中人们已经对手机产生很大的依赖,当然手机里也拥有这很多个人信息以及隐私,虽然现在很多时候大家聊天都会使用微信或者QQ,但是也有些重要的事情会发短信,如果不小心把短信 ...

  4. Android 类似手机接收到短信桌面图标改变

    Android 类似手机接收到短信桌面图标改变 求给点思路 谢谢!!!

  5. android手机获取系统短信sqlite数据库并查看内容

    一个朋友过来,准备玩玩Ta的android手机,给我之前还要拿回去看看,结果是ta把短信加密了(第三方短信),怕我知道ta的啥见不得人的秘密.o(∩_∩)o 哈哈.TA威胁我说加密了,看我怎么看.结果 ...

  6. android 短信迁移到iphone,将安卓手机上的短信导入到iphone上的方法

    很多用安卓手机的朋友们换iphone5之后,之前手机里的一些数据想倒到新手机里都是比较棘手的问题,尤其是不同的操作系统,像android--ios这样,今天看到个新方法,特意转过来给大家分享一下,方法 ...

  7. 安卓手机导入html短信,旧手机短信导入新手机

    使用QQ同步助手同步,下载QQ同步助手软件到两部手机中,登陆同一个微信/QQ账号,在一部手机中选择短信备份,备份完成后在另一部手机同步即可.苹果手机之间还可以使用iCloud账户同步.还可以使用手机自 ...

  8. 魅族手机删除的短信怎么恢复

    现在互联网的时代越来越发达,你会发现你的手机上有各种垃圾的广发短信,所以很多人都会去定期清理广告信息,那么不小心重要的短信删除了怎么办呢?魅族手机删除的短信怎么恢复呢?下面就为大家带来魅族手机短信恢复 ...

  9. html文件如何恢复手机短信,如何恢复手机删除的短信?简单方法分享

    如何恢复手机删除的短信?我们在手机上经常会收到很多的短信,无论是一些朋友发到重要短信还是注册了各种平台发来的手机短信都会在手机里面,不过有时候会误操作手机会将手机里面的数据删除,查看手机短信的时候也不 ...

  10. android手机短信删除了怎么恢复,手机上的短信删除了怎么恢复?教你三步轻松解决...

    手机上的短信删除了怎么恢复?怎样找回安卓手机中丢失的短信记录?随着经济的不断发展,手机的使用率越来越大,而更多用户使用的是安卓手机.我们通常会在手机中储存很多的的短信信息,但是当短信很多的时候我们就需 ...

最新文章

  1. FTL页面常用到的一些方法combobox、combotree、datagrid
  2. html拼接日期,html日期加减
  3. js检测弹出窗口拦截程序
  4. 即时通讯开发----回音消除技术
  5. golang fmt.Print(15 == 1_5)
  6. 胃net的放大内镜_胃淀粉样变性放大内镜表现 | 内镜集锦
  7. 这个星期压力貌似比较大啊!
  8. HDU 4966 GGS-DDU(最小树形图)
  9. 滴滴开源的APM方案Dokit接入
  10. Delphi7 动态数组
  11. 淘淘商城19_在taotoa-portal工程中调用taotao-rest工程
  12. 数据结构一些常见术语的中英文对照
  13. gdrive无限网盘挂载systemd文件
  14. 求一个集合的所有幂集
  15. Django教程 —— Django入门
  16. 【CSS】4步教你绘制爱心图案
  17. 【精华】搭建个人Web服务器_LAMP
  18. use SWR为什么能成为我的最爱React库?
  19. java北京招聘_JAVA应届毕业生去北京找工作,薪资大约多少?
  20. Nginx做缓存服务器

热门文章

  1. java零基础Ⅲ-- 4.Mysql基础
  2. 提升代码质量,使用插件对 java 代码进行扫描检查分析
  3. 多媒体计算机在特殊教育中的应用,多媒体计算机在特殊教育的运用.docx
  4. 在卡内基梅隆大学 (Carnegie Mellon University) 就读是怎样一番体验?——Lina
  5. SAP HANA HDBTable定义schema语法
  6. [2022世界杯] 小白也可以看懂的世界杯
  7. 【Linux】Centos8 新特性
  8. 注销linux用户的方法,Linux注销登录用户
  9. Maxthon傲视群雄正式版试用手记(转)
  10. linux ipp qt,win10+QT5.10.1搭建OpenCV开发环境