一、背景:

现在好多手环与手机端的APP都能实时的显示新消息,新消息有短信、电话、微信、QQ等。由于最近在做一个手环的项目,有同样的需求,研究了其他家这种功能的实现,在网上查了些高手的资料,自己的总结如下:

二、功能分析:

1、此监听功能,必须在后台长期运行,需些写一个生命周期长的服务
2、查了微信、QQ开发API,都没有提供这种接口。偶然间,发现当开启QQ状态栏消息权限时,手环能够接受到信息;关闭此权限时,就没有此功能。所以,判断可能市场上的这些APP都是监听状态栏信息的。

三、以下是这个Demo大体流程

第1步:服务的编写

第2步:监听状态栏信息服务

第3步:监听系统短信数据库

这是在GitHub上的Demo源码

四、发送接收判断

发送

如果监听sms数据库变化,发送一条短信要经过type的6,4,2三个状态变化,如果只想监听接受到的短信内容

接收

判断type=1即可,如果判断发送短信,判断type=2即可,这样就不会出现重复操作。

五、数据库中sms相关的字段如下:

_id primary key integer 与words表内的source_id关联
thread_id 会话id,一个联系人的会话一个id,与threads表内的_id关联 integer
address 对方号码 text
address 对方号码 text
person 联系人id integer
date 发件日期 integer
protocol 通信协议,判断是短信还是彩信 integer 0:SMS_RPOTO, 1:MMS_PROTO
read 是否阅读 integer default 0 0:未读, 1:已读
status 状态 integer default-1。 -1:接收,0:complete,64: pending, 128failed
type 短信类型 integer 1:inbox 2:sent 3:draft56 4:outbox 5:failed 6:queued
body 内容
service_center 服务中心号码
subject 主题 reply_path_present
locked
error_code
seen

六、短信URI

content://sms/ 所有短信
content://sms/sent 已发送
content://sms/draft 草稿
content://sms/outbox 发件箱
content://sms/failed 发送失败
content://sms/queued 待发送列表

短信、微信、QQ信息监听相关推荐

  1. android 发送彩信监听,在Android中发送短信和彩信,监听短信并显示

    发送短信: String body="this is sms demo"; Intent mmsintent = new Intent(Intent.ACTION_SENDTO, ...

  2. CentOS 6.2+Nginx+Nagios,手机短信和qq邮箱提醒

    CentOS 6.2+Nginx+Nagios,手机短信和qq邮箱提醒 注:192.168.0.21 服务端 192.168.0.22 客户端 环境:两台centos6.0 64位系统,都已经搭建好了 ...

  3. 在午睡,手机接连振动,是几个朋友用短信微信问我

    在午睡,手机接连振动,是几个朋友用短信微信问我:知道韩三平的事吗?我差点被他们惊得跳起来:咋了--哦,原来韩三爷退休了.大鳄便是如此,一举一动,都有山岳般的重量.他即使不想呼风唤雨,也自然地动山摇. ...

  4. 华为设置android系统提醒功能,华为Watch GT2消息提醒怎么设置?短信微信消息提醒设置方法...

    华为Watch GT2是一款物美价廉的智能手表,同样也是一款非常实用的运动手表,那么华为watch gt2怎么设置消息提醒呢,为了不让大家错过手表上的短信.QQ和微信消息提醒,今天智能手机网小编就来分 ...

  5. 微信公众号监听返回按钮问题解决

    2017年12月21日 微信公众号监听返回按钮问题解决 //首页返回路径 $(function(){pushHistory();var bool = false;setTimeout(function ...

  6. 微信被指监听用户,腾讯回应;谷歌意外推送 Android 11 Beta 更新;Linux 5.7 发布 | 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自视觉中国 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客 ...

  7. Java使用短信猫发信息(向串口发送AT指令)

    使用Java发送短信息的方式有两种: 1>使用第三方平台的http请求进行发送,优点是接口简单,使用方便,发送的效率高,多条可以同时发送,缺点是短信平台,三大运营商不提供接口,都是第三方平台,但 ...

  8. 微信小程序监听 watch方法

    微信小程序监听 watch方法 使用过vue框架的应该使用过watch监听变量 那么 在微信小程序中 怎么使用watch 首先我们需要引入一个watch.js文件到我们的全局中 // 监听页面数据变化 ...

  9. vue微信公众号监听关闭页面

    试了网上找的pagehide,unload,都不管用,后来看到同志说下面的方法好使.用了果然可以,大家可以试试,也欢迎提出建议. addEventListener mounted() {// 微信公众 ...

最新文章

  1. 【南洋理工-CVPR2022】视觉语言模型的条件提示学习
  2. 根据 dba_errors 制定 数据库报警邮件
  3. kickstart安装
  4. 下面是html5中新增的结构元素的是,HTML5的新的结构元素介绍
  5. id 怎么获取jira 评论_【JIRA】如何快速地批量查找各迭代的SprintID
  6. (7) PyQt 设计并实现【工厂扫码装箱系统】- Python代码实现BarTender自动化打印条码标签
  7. 中交一公局二公司全面推进章管家 印章智慧管理转型在即
  8. Curator的使用
  9. 算法013:二维数组中的查找-在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断中是否存在
  10. 【Python爬虫】Scrapy 下载安装
  11. js中的escape方法有什么用?
  12. word使用计算机题,(word)计算机基础考试试题及答案.doc
  13. 01章 象数易理篇之一
  14. 2024考研《数据结构》复习笔记总览(文末有彩蛋)
  15. 这是一份数据量达41.7万开源表格数据集
  16. Java 中文 Unicode 编码转换
  17. JAVA常用类之Arrays工具类
  18. 登陆启明星辰天清web网关
  19. 为机器学习模型设置最佳阈值:0.5是二元分类的最佳阈值吗
  20. 程序员常用不常见很难得的地址大全转

热门文章

  1. 基于单片机的全自动洗衣机模拟系统
  2. 命令行下通过jlink烧录Navota小记
  3. 参与第三次全国土地调查工作
  4. [攻略] 球会6 特殊战术(FORMATION COMBO)一览
  5. xbox 0x_Xbox Series X之路
  6. 分享20个高质量的免费CSS模板
  7. 丰田和软银合作开发自动驾驶汽车相关服务
  8. 动态规划,且学且放弃
  9. 录音完成上传文件失败
  10. 洛谷2085-最小函数值-python-(二叉堆)