最新详解android自动化无障碍服务accessibilityservice以及高版本问题_1_如何开启获得无障碍
前言
无障碍服务accessibilityservice是什么
简单来说 无障碍服务就是一个为残障人士 尤其是视觉障碍人士提供的一个帮助服务。具体就是可以识别控件 文字 可以配合语音助手 操作和 使用手机。
但是在实际的生产生活中我们可以利用无障碍的这些特性做到一些自动化的事件。诸如
1.自动化抢 微信 QQ红包
2.自动化点赞服务
3.自动化管理 安装和卸载
4.配合其他服务做成群控软件
无障碍服务与ADB和appium的区别
理论上这三者都可以做到自动化处理,但是无障碍要比后面两者更有效 且更方便部署和携带。
1.无障碍服务不需要root 框架配合
2.无障碍手机自带 无需额外安装
3.无需电脑手机链接配合,可以完全的脱机使用 成本极低
4.无障碍设计的无侵入式 对于操控软件是不可知的,可以避免被风控
5.无障碍服务开发非常简单 学习成本极低 无需像appium那些测试框架一样需要特意的学习使用。
利用无障碍服务能干啥
简单来说就是一切的自动化操作,你手可以点击的操作他都可以。包括但不仅限于
1.点击 单击 双击
2.拖动 滑动 下拉 上滑
3.多点触控 三指上滑
4.打开某个菜单 下拉状态栏 关闭开启wifi 切换代理
5. 。。。。 更多更多 不需要额外例举了。
你可以利用无障碍服务获得丰厚收益
这个问题怎么说,正常的开发并不需要你掌握太多的相关知识。但是如果你想利用脚本获得收益可以详细一下利用无障碍服务可以做一些有益的事情。我例举几个可以让你获得收益的点吧。
-
1.编写抢红包脚本 无论是自用还是分享出去都能获取大波流量,你可以以此获得收益。同理的诸如支付宝偷能量脚本 大学习刷课脚本等等 你做出来哪怕付费都可能有人要。
-
2.编写刷币脚本 一些软件有阅读或者浏览收益的 可以利用软件刷并获得收益。
-
3.编写交易脚本 这个我觉得最有意义,诸如
python爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用
python爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用-2 -
4.编写抢购脚本 茅台抢购 显卡抢购?
-
5.编写游戏脚本 打金脚本
看了这么多,块和我一起进入无障碍服务的世界吧,不需要动手 钱就到手里了。
如何开启和使用无障碍服务
把大象装进冰箱分几步?
拢共分三步。
同理开启无障碍服务也是拢共分三步。
第一步 继承AccessibilityService
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
}
@Override
public void onInterrupt() {
}
@Override
public void onCreate() {
super.onCreate();
}
}
特别说明 AccessibilityService
本质上也是一个service 也有生命周期。所以继承之后就可以为所欲为了。几个方法的复写自己看着操作就行,其实没啥东西这里不讲。onAccessibilityEvent
这个方法呢 也就是所有的界面事件都会去那里,你可以做一些拦截 修改什么的。
第二步:注册组件
既然无障碍服务是服务 也属于四大组件,当然也需要注册
这个没什么好说的:
<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" />
<service
android:name=".MyAccessibilityService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility" />
</service>
尤其的accessibility.xml
这个描述配置文件
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackGeneric"
android:canPerformGestures="true"
android:canRetrieveWindowContent="true"
android:accessibilityFlags="flagDefault|flagRetrieveInteractiveWindows|flagIncludeNotImportantViews"
android:canRequestFilterKeyEvents="true"
android:description="@string/accessibility_desc"
android:notificationTimeout="100" />
这些字段都是有意义的
accessibilityEventTypes
accessibilityFeedbackType
canPerformGestures
canRetrieveWindowContent
accessibilityFlags
canRequestFilterKeyEvents
notificationTimeout
具体的我就不说了 我只说notificationTimeout
这个特意的设置下,就是接受事件的间隔。canPerformGestures
这个务必为true
其他字段解释看官方的文档:
https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#summary
第三步 装上手机 给无障碍权限
这一步不同的手机长得不一样 以魅族为例
设置->辅助功能->无障碍->找到脚本名->开启即可
这样无障碍就算是引入到我们的工程里去了。
总结
本章节首先将无障碍服务导入到项目里,后面的文章介绍如何使用无障碍来操作界面。