Skip to content

Android中使用无障碍功能实现静默安装和静默卸载。

Notifications You must be signed in to change notification settings

codeteenager/AccessibilityApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Nov 23, 2018
608c999 · Nov 23, 2018

History

5 Commits
Nov 23, 2018
Nov 23, 2018
Nov 23, 2018
Nov 23, 2018
Nov 23, 2018
Nov 23, 2018
Nov 23, 2018
Nov 23, 2018
Nov 23, 2018
Nov 23, 2018

Repository files navigation

AccessibilityService

AccessibilityService是用户可选服务,AccessibilityService由系统在后台运行,并接收回调函数AccessibilityEvents。此类事件表示一些状态转换的用户界面, 例如,界面已经改变, 点击一个按钮,等等。这种服务可以选择请求的能力查询活动窗口的内容。 开发一个可访问性服务需要扩展这个类并实现其抽象方法。

AccessibilityService由AccessibilityServiceInfo来描述。 系统通知的AccessibilityService, AccessibilityEvents的节点信息封装在这个类中。

用法

  • onServiceConnected():服务连接时,也就是第一次打开时调用,这里我们可以初始化常量和标签等
  • onCreate():服务创建时调用,初始化一些数据
  • onDestroy():服务消亡是,或者用户关闭时,调用,这里我们可以去做些业务相关的释放任务,
  • onAccessibilityEvent():监测到内容节点时调用
  • disableSelf():自身关闭时主动调用
  • onInterrupt():终止accessibility service时调用。

相关配置

在AndroidManifest.xml文件中声明AccessibilityService时,有如下几点必须注意:

  • android:name属性为自定义MyAccessibilityService的绝对类名;
  • 声明"android.permission.BIND_ACCESSIBILITY_SERVICE"权限;
  • 使用<meta-data../>设定AccessibilityService的配置信息,其中,android:name属性的值必须为"android.accessibilityservice"、android:resource属性的值为配置信息,保存在res/xml目录下的accessibility_settings.xml文件,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service
	 android:packageNames="com.android.packageinstaller"
     android:description="@string/accessibility_service_description"
     android:accessibilityEventTypes="typeAllMask"
     android:accessibilityFeedbackType="feedbackGeneric"
     android:accessibilityFlags="flagDefault"
     android:notificationTimeout="100"
     android:canRetrieveWindowContent="true"
  xmlns:android="http://schemas.android.com/apk/res/android" />

其中,android:packageNames指明AccessibilityService监听哪个应用程序下的窗口活动, 这里写com.android.packageinstaller表示监听Android系统的安装界面。 android:description指定在无障碍服务当中显示给用户看的说明信息。 android:accessibilityEventTypes指定我们在监听窗口中可以模拟哪些事件, 这里写typeAllMask表示所有的事件都能模拟。

About

Android中使用无障碍功能实现静默安装和静默卸载。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages