博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库获取 Android 短信
阅读量:5764 次
发布时间:2019-06-18

本文共 2416 字,大约阅读时间需要 8 分钟。

hot3.png

读取短信需要的权限

读取数据库短信方法

   public static List
> getSmsCode() {        String lastTime = "1534228493681"; // 时间        Log.i("SMSUtil", "开始获取短信");        Cursor cursor = null;        // 添加异常捕捉        try {            //第一种, 查询所有短信            cursor = App.mContext.getContentResolver().query(                    Uri.parse("content://sms"),                    new String[]{"_id", "address", "body", "date", "person", "type"},                    null, null, "date desc");            //第二种, 通过查询条件, 例如:date > lastTime, 过滤数据            /*cursor = App.mContext.getContentResolver().query(                        Uri.parse("content://sms"),                        new String[]{"_id", "address", "body", "date", "person", "type"},                        "date > ?", new String[]{lastTime}, "date desc");*/            if (cursor != null) {                List
> smsList = new ArrayList<>();                while (cursor.moveToNext()) {                    String body = cursor.getString(cursor.getColumnIndex("body"));// 在这里获取短信信息                    String person = cursor.getString(cursor.getColumnIndex("person")); // 陌生人为null                    String address = cursor.getString(cursor.getColumnIndex("address"));                    String _id = cursor.getString(cursor.getColumnIndex("_id"));                    String date = cursor.getString(cursor.getColumnIndex("date"));                    String type = cursor.getString(cursor.getColumnIndex("type"));                    HashMap
 smsMap = new HashMap<>();                    smsMap.put("body", body);                    smsMap.put("person", person);                    smsMap.put("address", address);                    smsMap.put("_id", _id);                    smsMap.put("date", date);                    smsList.add(smsMap);                    Log.i("test_sms", "body = " + body + "  person = " + person + "  address = " + address                            + "  date = " + date + "  type = " + type);                }                // 返回所有的短信                return smsList;            }        } catch (Exception e) {            e.printStackTrace();            Log.i("test_sms", "e = " + e.getMessage());        } finally {            if (cursor != null) {                cursor.close();            }        }        return null;    }

URI 主要有:

转载于:https://my.oschina.net/u/3611008/blog/2254649

你可能感兴趣的文章
Linux内存管理之mmap详解 (可用于android底层内存调试)
查看>>
利润表(年末)未分配利润公式备份
查看>>
Android开发中ViewStub的应用方法
查看>>
gen already exists but is not a source folder. Convert to a source folder or rename it 的解决办法...
查看>>
HDOJ-2069Coin Change(母函数加强)
查看>>
遍历Map的四种方法
查看>>
JAVA学习:maven开发环境快速搭建
查看>>
Altium Designer 小记
查看>>
【Linux高级驱动】I2C驱动框架分析
查看>>
赵雅智:js知识点汇总
查看>>
二维有序数组查找数字
查看>>
20个Linux服务器性能调优技巧
查看>>
多重影分身:一套代码如何生成多个小程序?
查看>>
Oracle将NetBeans交给了Apache基金会
查看>>
填坑记:Uncaught RangeError: Maximum call stack size exceeded
查看>>
SpringCloud之消息总线(Spring Cloud Bus)(八)
查看>>
DLA实现跨地域、跨实例的多AnalyticDB读写访问
查看>>
实时编辑
查看>>
KVO原理分析及使用进阶
查看>>
【348天】每日项目总结系列086(2018.01.19)
查看>>