无障碍服务是一种应用,可提供界面增强功能,来协助残障用户或可能暂时无法与设备进行全面互动的用户完成操作。小编这边用无障碍服务实现一系列自动化操作,有点像按键精灵,踩了不少坑。首要部署声明才能被 Android 系统视为无障碍服务,为了与 Android 4.1 及更高版本兼容,清单还必须保护该服务,方法是添加 BIND_ACCESSIBILITY_SERVICE 权限以确保只有系统可以绑定到它。

<service    android:name=".MyAccessibility"    android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">    <intent-filter        android:priority = "1000">        <action android:name="android.accessibilityservice.AccessibilityService"/>    intent-filter>    <meta-data        android:name="android.accessibilityservice"        android:resource="@xml/accessibility"/>service>

其次,既然是服务肯定还需要提供配置属性,所以这边就需要引用配置文件的 元素?。配置的 accessibility.xml 具体内容如下,已提供详细描述,复制记得删除。

"http://schemas.android.com/apk/res/android"    android:description="@string/accessibility_service_description"        android:packageNames="com.android.settings,com.example.other.test"        android:accessibilityEventTypes="typeAllMask"        android:accessibilityFlags="flagDefault"        android:accessibilityFeedbackType="feedbackSpoken"        android:notificationTimeout="100"        android:canRetrieveWindowContent="true"    android:settingsActivity="com.example.android.accessibility.ServiceSettingsActivity"/>

最后,就可以创建一个扩展 AccessibilityService 的类,来实现一系列自动化操作。这边只是模拟了一个简单的提取文本处理的逻辑,可适用于部分应用突然的升级弹窗、检查更新等等,监听到变化之后可模拟点击取消、跳过等。

package com.example..demo.test.accessibility;import android.accessibilityservice.AccessibilityService;import android.view.accessibility.AccessibilityEvent;public class MyAccessibilityService extends AccessibilityService {...    @Override    public void onAccessibilityEvent(AccessibilityEvent event) {      // 获得包名      CharSequence packageName = event.getPackageName();      if ("com.example.other.test".equals(packageName)) {        // 获得文本信息        List text = event.getText();        for (int i = 0; i < text.size(); i++) {            CharSequence charSq = text.get(i);            String str = charSq.toString();            // 监听文本变化,模拟点击(适用于应用突然的弹窗处理)            switch (str) {                case "以后再说":                case "我知道了":                    // 模拟点击操作等                    break;            }        }      }    }    @Override    public void onInterrupt() {    }...}

无障碍功能还是很不错的,这边只是提供一个简单入门思路,最重要还是在于实际操作,小伙伴们得空可以自己动手试试。老样子,觉得有些些帮助的童鞋帮忙点个关注、再看再走呗亲。

android accessibilityservice自动点击_【Android】无障碍服务(一)入门轻踩相关推荐

  1. android button自动点击事件,Android Button按钮的四种点击事件

    本文实例为大家分享了安卓Button按钮的四种点击事件,供大家参考,具体内容如下 第一种:内部类实现 1.xml里面先设置Button属性 android:id="+@id/button1& ...

  2. android webview 自动点击事件,Android中的WebView布局点击事件的方法

    继承WebView自定义一个MyWebView,然后重载它的onTouchEvent方法,就可以解决了. public class MyWebView extends WebView{ public ...

  3. Android实现自动点击 - 无障碍服务

    ps: 不想看代码的滑到最下面有apk包百度网盘下载地址 1. 先看效果图 不然都是耍流氓 2.项目目录 3.一些配置 build.gradle plugins {id 'com.android.ap ...

  4. Android 实现自动点击屏幕的方法

    //新建一个实体类 import android.app.Activity;import java.io.IOException;/*** Created by cxf on 2020/9/29* 自 ...

  5. Android:自动点击屏幕

    在开发的过程中会遇到自动测试功能,比如如何自动点击按钮进行测试,当然可以使用按键精灵等工具进行测试,不过如何在程序进程中测试呢,下面就介绍下adb shell的操作,通过shell进行点击等操作. 1 ...

  6. android 模拟自动点击,自动点击器(模拟点击)

    应用介绍 自动点击器(模拟点击)是一款点击小工具应用,免费的且操作很便利,内里全部的成倍功能,全体都是免费的,内里又有详尽的操作说明,提倡运用之前好好的阅读,有需要的下载使用. 应用说明 自动点击器A ...

  7. 小米连续点击Android,屏幕自动点击

    应用介绍 屏幕自动点击:帮助广大安卓用户解放双手,实现短时间内快手连续点击加速,轻松设置点击频率: 屏幕自动点击:一键录制,可以重复录制的操作,轻松实现录制视频的操作,重复点击: [应用特色] 自动连 ...

  8. android 模拟自动点击,自动点击模拟器app

    自动点击模拟器app是一款简单实用的自动点击模拟器.挂机抢票得奖励安卓版,支持自动点击,自定义设置动作时间,次数等,还有运行设置,语音播报,字幕风格选择等,需要的可以下载自动点击模拟器app使用! 软 ...

  9. Android 10自动连接WiFi问题 Android 10 断开WiFi问题

    说明:本文主要说明扫码之后自动连接WiFi的一些处理,扫码的流程相对简单,网上教程也比较多,对于目前Android各个版本也没有太多变化. 问题描述:最近在做项目的时候,发现以前的项目有扫描二维码自动 ...

最新文章

  1. 巧用组策略关闭危险端口
  2. 使用ThinkPHP实现生成/校验验证码功能
  3. Java多线程编程实战指南
  4. Autodesk Infrastructure Map Server 2014的开发文档在哪里?
  5. 保持寄存器和输入寄存器的区别_串行移位寄存器74HC595
  6. ubantu自带防火墙的相关使用
  7. dnn中个性化服务的使用
  8. 好久不更新这个博客了。
  9. 自动化专业学python如何_如何系统有效学习 Python 自动化测试?
  10. java esc的_如何用Java中的Receipt打印机和ESC / POS命令提高速度
  11. linux系统中英文切换
  12. 带你认识PLC输入的源型与漏型接法
  13. 遗传算法基本原理及在互联网中的应用
  14. 最优算法-LQR-离散时间有限边界
  15. EXCEL数据组合的用法
  16. 【C/C++基础进阶系列】C/C++ STL -- 智能指针
  17. 北华大学计算机程序设计算法提高训练营个人赛(无L)
  18. 北理工乐学C语言 60.合并排序
  19. Vue3官网-高级指南(十五)Vue 与 Web Components
  20. ThinkPHP验证码错误解决过程

热门文章

  1. php mysql 分组 分页_简单的PHP+Mysql实现分页
  2. 打开360浏览器显示无法连接服务器,电脑360浏览器打不开网页是什么原因 检查一下是不网络问题...
  3. c# 怎样从bitmap初始化image类_C#二维数组初始化概括(新手篇)
  4. 提交官方MapReduce作业到YARN
  5. 超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!
  6. 比OCR更强大的PPT图片一键转文档重建技术
  7. 一口气说出 4种 “附近的人” 实现方式,面试官笑了,嘿嘿
  8. 万里挑一!北大AI女神每天必看的几个优质公众号
  9. 南昌大学c程序计算机作业,南昌大学计算机作业第二章答案
  10. android自定义滚轴选择器_Android自定义滚动式时间选择器(在他人基础上修改)...