android 红包功能,史上最详细的微信抢红包详解
一.技术背景
辅助功能设计初衷在于帮助残障用户使用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 红包功能,史上最详细的微信抢红包详解相关推荐
- 史上最详细的maven仓库详解
写在前面: 我是「沸羊羊_」,昵称来自于姓名的缩写 fyy ,之前呕心沥血经营的博客因手残意外注销,现经营此账号. 本人是个小菜,正向着全栈工程师的方向努力着,文章可能并不高产,也很基础,但每写一篇都 ...
- centos7中ps显示的内容_值得收藏,史上最全Linux ps命令详解
原标题:值得收藏,史上最全Linux ps命令详解 一.程序员的疑惑 大概在十多年前,我当时还是一个产品经理.由于一些工作的原因,需要向运维工程师学习一些linux常用命令. 当使用linux ps这 ...
- 史上最全的IP地址详解,速来get
史上最全的IP地址详解 白在了解虚拟机网络之前,我们首先得了解ip地址是什么? 1.简单局域网的构成 局域网:一般称为内网 简单局域网的构成:交换机.网线.PC(其他IT终端) 交换机:用来组建内网的 ...
- 史上最全YYModel的使用详解
原文链接:http://www.jianshu.com/p/25e678fa43d3 demo链接:https://github.com/walkertop/YYModel---Demo 插件链接:h ...
- 史上最全JavaScript数组对象详解(二)
JavaScript数组对象详解(二) 上一篇博客我们讲到了JavaScript数组对象的创建,访问和属性,接下来一篇博客主要讲一下JavaScript数组对象的方法及使用.说到数组的方法,主要分为两 ...
- 「万字图文」史上最姨母级Java继承详解
原创公众号:「bigsai」 除公众号以外拒绝任意擅自转载 文章收录在bigsai公众号和回车课堂 课程导学 在Java课堂中,所有老师不得不提到面向对象(Object Oriented),而在谈到面 ...
- 广成子:值得收藏-史上最全Linux ps命令详解
From 闻茂泉(广成)AliDataOps 一.程序员的疑惑 大概在十多年前,我当时还是一个产品经理.由于一些工作的原因,需要向运维工程师学习一些linux常用命令.当使用linux ps这个十 ...
- 史上最清楚的BP算法详解
前馈神经网络 在文章<逻辑回归到神经网络>(以下简写<LR到NN>)中,小夕为大家描述了一个从逻辑回归延伸到神经网络的过程.在<一般化机器学习与神经网络>中,小夕阐 ...
- 史上最全jmeter逻辑控制器案例详解
在jmeter中逻辑控制器可以控制采样器(samplers)的执行顺序.由此可知,控制器需要和采样器一起使用,否则控制器就没有什么意义了.放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被 ...
最新文章
- django+jquery ajax post csrf 配置
- 《jacascript高级程序设计》笔记:数组方法高级
- 第十五届全国大学生智能车竞赛浙江赛区隆重开幕
- “上拉电阻与下拉电阻”通俗解读
- python应该怎么自学-Python 应该怎么学?
- php分页样式,thinkphp分页样式修改
- 网上找的关于微信开发一些常用代码
- 30可以刷什么系统_刷脸支付系统可以对接原来的收银系统吗?
- 信息收集 ——C段扫描
- 【HDU - 1852】 Beijing 2008()
- 【华为云技术分享】8种ETL算法汇总大全!看完你就全明白了
- python渲染html页面_python接口自动化29-requests-html支持JavaScript渲染页面
- .NET平台及C#面向对象编程
- C 语言 结构类型 结构
- Atitit uke各大事业部规划 约365个事业部
- udacity 学java_刷完udacity的JavaScript,我想说……
- linux 两个序列比对,Clustal:多序列比对分析、序列同源性分析
- sudo: /etc/sudoers is owned by uid xxx, should be 0
- qq空间把android改成iphone,qq空间改iPhone6 Plus的教程
- 大话设计模式—访问者模式
热门文章
- dependencies报红线
- 狗狗搜索受版权保护文件破解方法~
- 在手机上怎么查看CAD图纸呢?
- 华云数据荣获2021中国软件和信息服务业信创实力企业及社会责任贡献企业双项大奖
- itop4412开发版linux实验手册,【分享】iTOP-4412开发板使用之初体验[多图]
- 浅谈智慧灯杆的配套产业
- Omni Recover for Mac(iPhone数据恢复软件)
- iPhone数据恢复软件 Apeaksoft iOS Toolkit 1.1.70 for Mac
- ping命令测试网络_如何执行计算机Ping测试命令以检查网络连接?
- 2023年申请美国大学,需要SAT/ACT成绩吗?