
在手机的设置界面,有一个叫辅助功能的设置,点击进去可以看到已安装的辅助服务,点击具体的服务进去可以看到该服务的一些描述,可以在此开启该服务,这也是唯一一个能开启服务的地方。
开启辅助功能相当于开启了一个服务,在手机界面改变的时候,就能监听到该页面的一些信息并且能拿到界面的一些控件,然后可以对控件进行模拟点击,从而实现我们想要的功能。
除此以外,不仅能够对获取到的控件进行模拟点击,在Android7.0及以上的版本,我们可以模拟任意位置的点击包括触摸、滑动等等,就是说我们可以实现任何 人能够进行的 *** 作 ,这个是很有用的,可以做出很多有意思的东西,如果再配上截图、录屏和图像识别,就更有意思了。
模拟点击,就是说我们的手机界面自己动,整个流程像是一只手在帮你 *** 作一样的;
新建一个 Service 继承 AccessibilityService
然后去 AndroidManifest 文件里面去注册一下这个Service
在 meta-data 节点下有个 resource 值,这是个xml文件,里面配置了该辅助的一些信息,在res目录下新建一个文件夹,名字叫xml,然后新建一个xml文件,名字和 resource 配置的一样就行了
里面配置了一些参数,比如 notificationTimeout 是指定多少毫秒监听一次界面变化的, packageNames 是指定监听哪个应用的,删掉这个配置就是监听全局, description 是对于该辅助的描述,其他配置不管也罢。
然后在LuckMoneyService里面重写一下onAccessibilityEvent方法
每当界面改变的时候就会回调这个方法,通过 event 我们就可以获取到界面的信息包括界面上的控件
上面的 *** 作都比较基础,根据控件显示的文字查找控件,找出来的肯定是TextView和Button了,根据ID查找控件,ID就是指的写布局文件的时候设置的控件的ID
模拟触摸就是可以模拟人的触摸动作,也比较简单
可以看到需要传入 path 就是一个路径嘛,模拟滑动的路径,用canvas画过画的都知道这东西还是比较简单的, startTime 就是多久后开始模拟事件, duration 就是该滑动的时间,其他回调什么的为空就可以了;
如何获取控件的ID呢,而我又是如何知道界面上有哪些控件呢,可以通过一个工具来实现,就是在sdk工具下面的一个叫 monitor 的工具,其实之前的AndroidStudio是带这个工具的,但是后来界面上是没有了,但是其实还在的
连上手机,打开这个工具,手机上打开你要查看的界面,点击工具手机的小手机的图标,就会截屏,显示出这个界面的信息
辅助功能能做的东西大概就上面这些了,能做出什么功能就靠自己的想象了
推荐阅读: Android微信抢红包辅助
打开屏幕上的设置功能。在下拉菜单中找到【辅助功能】,点击打开。
1、找到【触控】,点击进去会发现,这个功能是处于关闭的状态,点击一下【关闭】。
2、在辅助触控的后方有一个小开关,点击打开右侧的开关按钮,这个悬浮球就出现在手机屏幕上了。
3、在辅助触控的后方有一个小开关,点击打开右侧的开关按钮,这个悬浮球就出现在手机屏幕上了。
4、在悬触控设置下方,有一个【自定顶层菜单】,点击进入后,选择加号便可以添加各种功能。自定顶层菜单下方【单点】、【轻点两下】、【长按】、【创建新手势】等各种设置,根据自己的需求设置悬浮球上的功能即可。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)