利用sqlite想要实现从本机获取短信的信息,我们就必须找到本机存储短信数据的位置

一、使用真机

打开studio -- Device-File-Explorer--data-data--com.android.providers.telephony下

这也就是provider 内容提供者

此时报了一个错误,无法看到本机数据

真机的话需要进行root操作

暂时使用google自带模拟器可以找到provider的下的sms数据库

贴一下代码:

package admin.example.com.myapplication;import android.content.ContentResolver;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;public class MainActivity extends AppCompatActivity {private static final int REQUEST_CODE_ASK_PERMISSIONS =123;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);checkPermisssion();}private void checkPermisssion() {if(ContextCompat.checkSelfPermission(getBaseContext(), "android.permission.READ_SMS") != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(MainActivity.this, new String[]{"android.permission.READ_SMS"}, REQUEST_CODE_ASK_PERMISSIONS);}}public void onGetSmsInfoClick(View view) {//系统的短信,联系人都是通过内容提供者组件暴露给第三方ContentResolver cr = getApplicationContext().getContentResolver();Cursor cursor =cr.query(Uri.parse("content://sms/"),new String[]{"address","date","body","type"},null,null,null);while (cursor.moveToNext()){String address = cursor.getString(0);String date = cursor.getString(cursor.getColumnIndex("date"));String body = cursor.getString(2);String type = cursor.getString(3);Log.i("test","address:"+address+"date:"+date+"body;"+body+"type:"+type);}cursor.close();}
}

需要的权限:

 <uses-permission android:name="android.permission.WRITE_SMS" /><uses-permission android:name="android.permission.READ_SMS" /><uses-permission android:name="android.permission.RECEIVE_SMS" /><!-- 读取联系人 --><uses-permission android:name="android.permission.READ_CONTACTS"/>

最后得到结果内容:

5-10 01:10:36.677 12586-12586/? I/test: address:5554date:1525857482729body;have you eat something to eat?type:1
05-10 01:10:36.677 12586-12586/? I/test: address:5554date:1525857467298body;i miss youtype:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525857437307body;????type:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525857426452body;?????type:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525857418522body;??????type:1
05-10 01:10:36.678 12586-12586/? I/test: address:15555215554date:1525854572351body;23123123rdtype:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854572053body;23123123rdtype:2
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854563113body;789465iiuojtype:1
05-10 01:10:36.678 12586-12586/? I/test: address:15555215554date:1525854553956body;Risk luff D'stype:1
05-10 01:10:36.678 12586-12586/? I/test: address:15555215554date:1525854553660body;Risk luff D'stype:2
05-10 01:10:36.678 12586-12586/? I/test: address:15555215554date:1525854544170body;1234567890type:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854543863body;1234567890type:2
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854529608body;erwer23432type:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854528245body;erwer23432type:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854508941body;erwer23432type:1
05-10 01:10:36.678 12586-12586/? I/test: address:15555215554date:1525854498163body;234rwerwertype:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854497848body;234rwerwertype:2
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854476937body;werwe1223123123rtype:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854468773body;werwerwerwerwertype:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854440648body;??5554?????type:1
05-10 01:10:36.678 12586-12586/? I/test: address:5554date:1525854437449body;??5554?????type:

SQLite实现获取本机短信数据相关推荐

  1. 获取短信数据 并且备份

    配置权限 <uses-permission android:name="android.permission.READ_SMS" /><uses-permissi ...

  2. android4.4 获取符合默认短信应用要求的短信应用包名(改进篇)

    从上一篇获取符合默认短信应用来看,获取思路是正确的,但是还很不完善,但是这归根结底是google整出来的一套规范,如何去找到符合规范的应用呢,这得google告诉我们. 因此,我看了一下android ...

  3. android 短信管理(获取接受到短信的消息)

    这几天在弄短信的东东,主要是想做一个用户使用短信支付的接口,殊不知国内省份不一样,接口众多呀!感叹国家地域的辽阔和房价的高不可攀的矛盾.... 接口不是重点,重点是关于获取接受短信的消息,当然最熟悉的 ...

  4. 无法进入系统的三星Android手机恢复联系人、短信数据并重置手机的过程

    领导的一台双卡双待的Samsung Grand DUOS(i9082)联通合约手机前一阵子突然坏了,按开机键之后,显示Woo和三星商标,喊一句"欢迎进入Woo的世界",就开始在Wo ...

  5. 微信小程序 获取 手机验证码 短信验证码 后端功能实现解析

    本文原创首发CSDN,链接 https://mp.csdn.net/console/editor/html/106041472 ,作者博客https://blog.csdn.net/qq_414641 ...

  6. Android获取最新发送短信的基本信息,没有之一

    注册: getContentResolver().registerContentObserver(                 Uri.parse("content://sms" ...

  7. iphone双卡_单卡 iPhone 变双卡,3分钟搞定安卓备用机短信——IFTTT妙用

    〇.前言 虽然双卡手机在天朝早已遍地开花,甚至 iPhone 都在 2018 年支持了双卡,我使用的依然是单卡手机,而且是两部.它们虽然都是好几年前的手机了,但依然「够用」,所以我一直无缘新的双卡手机 ...

  8. Celery---手机短信异步发送

    celery应用举例 Celery 是⼀个 基于python开发的 分布式异步消息任务队列 ,通过它可以轻松的实现任务的异步处 理,如果你的业务场景中需要⽤到异步任务,就可以考虑使⽤celery 你想 ...

  9. android4.4 获取符合默认短信应用要求的短信应用包名

    android 4.4有一坨更新,短信机制改变是更新里面的一项重头戏 怎样让短信应用适用于4.4官网那篇博客已经被翻译然后转载了N遍,我就随便贴一个链接上来吧4.4短信应用变更 这里我不是要说明怎样去 ...

最新文章

  1. 从多媒体技术演进看AI技术
  2. struts2 18拦截器详解(五)
  3. MyBatis-04 MyBatis XML方式之insert元素
  4. IE下的拖拽Drag事件和示例
  5. dump文件分析工具_使用这个 Python 工具分析你的 Web 服务器日志文件 | Linux 中国...
  6. 从近年CVPR看域自适应立体匹配
  7. jquery中$(document).ready(function(){//todo});window.onload时间线关系
  8. C++笔记:select多路复用机制
  9. 用了python之后笔记本卡了_应用
  10. JFreeChart柱状图单组柱子的不同颜色显示
  11. 38个Pandas实用技巧
  12. SAP MM批次管理
  13. 计算机cnc编程入门,数控车床编程入门自学方法与步骤,内容详细,值得一看!...
  14. 普鸥知识产权|如何申请美国外观专利?申请费用、时间、流程?
  15. html 根据坐标画多边形,Canvas多边形绘制的实现方法
  16. 吉他(guitar)
  17. Delphi隐藏/显示Windows桌面上的图标
  18. Unity 一分钟学会适配IOS刘海屏
  19. 搭建自己的知识体系 自我提升
  20. 网易云音乐关键字搜索并生成下载url

热门文章

  1. 关于EPS attach和EPS combined attach with sms only、NBIOT等
  2. 自学IT 必去的两个学习网站
  3. Python基础—简介、变量、运算符
  4. C语言常用库函数实现(一)_内存拷贝
  5. VBA 中的UBound
  6. Python通过fake_useragent实现生成随机UserAgent
  7. 程序员常说的外包公司到底是什么?
  8. jquery.uploadify php,jQuery上传插件Uploadify的使用方法
  9. Oracle数据库初学者入门教程
  10. asp.net paypal信用卡支付功能