一.技术背景

辅助功能设计初衷在于帮助残障用户使用android设备和应用,在后台运行,可以监听用户界面的一些状态转换,例如页面切换、焦点改变、通知、Toast等,并在触发AccessibilityEvents时由系统接收回调。后来被开发者另辟蹊径,用于一些插件开发,比如微信红包助手,还有一些需要监听第三方应用的插件。

二.原理及实现

原理

大致简述一下,谷歌已经在View、ViewGroup、TextView等控件的文字改变、滑动、UI变化埋下了接口,当这些状态变化时控件会回调系统API,API系统然后对这些对象的数据进行组装,为了数据的安全性,系统会重新创建一些对象(AccessibilityEvent、AccessibilityNodeInfo)来间接保存这些数据,然后通过跨进程将这些数据返回给对应的Service中。

具体实现

第一步:实现AccessibilityService 新建service并继承AccessibilityService,实现父类的两个方法onInterrupt(),//中断访问回调onAccessibilityEvent() //状态变化回调

第二步:配置AccessibilityService

第三步:让用户打开辅助功能权限

三. 带你分析如何监听微信红包

三个方面

如何监听消息通知栏

判断通知栏是否有红包

如何点击聊天列表红包

所需分享工具

1.uiautomatorviewer.bat帮助我们获取屏幕中的控件,并使用脚本操作 这个地址我本地的是C:\Users\Administrator\AppData\Local\Android\Sdk\tools\bin\uiautomatorviewer.bat 大家根据自己的sdk位置查找

2.adb adb shell dumpsys window |findstr mCurrent 帮助会的当前微信页面的类名

下面的方法可以查找某个id节点

接下来就可以偷摸干事情了 1.查找包含微信红包字样的节点,利用uiautomatorviewer找到id 2.自动点击该节点,进入聊天页

如何查找聊天页红包

获得聊天页红包框id

接下来就进入拆字页面了,按照上面的分析逻辑即可完成,不多讲了,大家自己实现

android 红包功能,史上最详细的微信抢红包详解相关推荐

  1. 史上最详细的maven仓库详解

    写在前面: 我是「沸羊羊_」,昵称来自于姓名的缩写 fyy ,之前呕心沥血经营的博客因手残意外注销,现经营此账号. 本人是个小菜,正向着全栈工程师的方向努力着,文章可能并不高产,也很基础,但每写一篇都 ...

  2. centos7中ps显示的内容_值得收藏,史上最全Linux ps命令详解

    原标题:值得收藏,史上最全Linux ps命令详解 一.程序员的疑惑 大概在十多年前,我当时还是一个产品经理.由于一些工作的原因,需要向运维工程师学习一些linux常用命令. 当使用linux ps这 ...

  3. 史上最全的IP地址详解,速来get

    史上最全的IP地址详解 白在了解虚拟机网络之前,我们首先得了解ip地址是什么? 1.简单局域网的构成 局域网:一般称为内网 简单局域网的构成:交换机.网线.PC(其他IT终端) 交换机:用来组建内网的 ...

  4. 史上最全YYModel的使用详解

    原文链接:http://www.jianshu.com/p/25e678fa43d3 demo链接:https://github.com/walkertop/YYModel---Demo 插件链接:h ...

  5. 史上最全JavaScript数组对象详解(二)

    JavaScript数组对象详解(二) 上一篇博客我们讲到了JavaScript数组对象的创建,访问和属性,接下来一篇博客主要讲一下JavaScript数组对象的方法及使用.说到数组的方法,主要分为两 ...

  6. 「万字图文」史上最姨母级Java继承详解

    原创公众号:「bigsai」 除公众号以外拒绝任意擅自转载 文章收录在bigsai公众号和回车课堂 课程导学 在Java课堂中,所有老师不得不提到面向对象(Object Oriented),而在谈到面 ...

  7. 广成子:值得收藏-史上最全Linux ps命令详解

    From 闻茂泉(广成)AliDataOps 一.程序员的疑惑   大概在十多年前,我当时还是一个产品经理.由于一些工作的原因,需要向运维工程师学习一些linux常用命令.当使用linux ps这个十 ...

  8. 史上最清楚的BP算法详解

    前馈神经网络 在文章<逻辑回归到神经网络>(以下简写<LR到NN>)中,小夕为大家描述了一个从逻辑回归延伸到神经网络的过程.在<一般化机器学习与神经网络>中,小夕阐 ...

  9. 史上最全jmeter逻辑控制器案例详解

    在jmeter中逻辑控制器可以控制采样器(samplers)的执行顺序.由此可知,控制器需要和采样器一起使用,否则控制器就没有什么意义了.放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被 ...

最新文章

  1. django+jquery ajax post csrf 配置
  2. 《jacascript高级程序设计》笔记:数组方法高级
  3. 第十五届全国大学生智能车竞赛浙江赛区隆重开幕
  4. “上拉电阻与下拉电阻”通俗解读
  5. python应该怎么自学-Python 应该怎么学?
  6. php分页样式,thinkphp分页样式修改
  7. 网上找的关于微信开发一些常用代码
  8. 30可以刷什么系统_刷脸支付系统可以对接原来的收银系统吗?
  9. 信息收集 ——C段扫描
  10. 【HDU - 1852】 Beijing 2008()
  11. 【华为云技术分享】8种ETL算法汇总大全!看完你就全明白了
  12. python渲染html页面_python接口自动化29-requests-html支持JavaScript渲染页面
  13. .NET平台及C#面向对象编程
  14. C 语言 结构类型 结构
  15. Atitit uke各大事业部规划 约365个事业部
  16. udacity 学java_刷完udacity的JavaScript,我想说……
  17. linux 两个序列比对,Clustal:多序列比对分析、序列同源性分析
  18. sudo: /etc/sudoers is owned by uid xxx, should be 0
  19. qq空间把android改成iphone,qq空间改iPhone6 Plus的教程
  20. 大话设计模式—访问者模式

热门文章

  1. dependencies报红线
  2. 狗狗搜索受版权保护文件破解方法~
  3. 在手机上怎么查看CAD图纸呢?
  4. 华云数据荣获2021中国软件和信息服务业信创实力企业及社会责任贡献企业双项大奖
  5. itop4412开发版linux实验手册,【分享】iTOP-4412开发板使用之初体验[多图]
  6. 浅谈智慧灯杆的配套产业
  7. Omni Recover for Mac(iPhone数据恢复软件)
  8. iPhone数据恢复软件 Apeaksoft iOS Toolkit 1.1.70 for Mac
  9. ping命令测试网络_如何执行计算机Ping测试命令以检查网络连接?
  10. 2023年申请美国大学,需要SAT/ACT成绩吗?