美文网首页
Android.Accessibility包之Accessibl

Android.Accessibility包之Accessibl

作者: 二七头头 | 来源:发表于2017-01-12 02:16 被阅读322次

accessibility service概念

“信息无障碍”起源于西方发达国家,译自Accessibility,指任何人在任何情况下都能平等、方便、无障碍地获取信息并利用信息。在Android里,accessiblity service的目的主要用来协助有身体缺陷的用户使用android设备和应用。

Android有自带的accessibility功能,如talkback。但其作用域只在系统自带的软件。同时,开发者也可以通过继承AccessiblityService类为自己的应用自定义accessibility功能。

运行机制

accessiblity service在后台运行,并由用户的行为产生的AccessibilityEvents触发service的回调方法。这些AccessibilityEvents可以是视图焦点变化、按钮被点击和界面滚动等。

生命周期

  • 启动:
    当带有accessiblity service的应用在Android设备安装后,可通过设备里设置-->无障碍服务 为应用开启服务。开后,Service的onCreate(),onServiceConnection()的方法会被先后调用。开发者可在这些方法进行一些初始化动作。
  • 运行
    服务启动后,用户行为触发的AccessibilityEvents会回调服务的onAccessibilityEvent(AccessibilityEvent event) 的方法。
  • 结束
    当用户通过设备里设置-->无障碍服务 为应用关闭服务后,服务便终止。通过AccessiblityService的disableSelf()方法也可以终止服务.

声明与配置

  • 声明
    AccessiblityService需要在AndroidManifest.xml中进行声明,一是通过BIND_ACCESSIBILITY_SERVICE让系统识别出这是个无障碍服务,二是为了声明该服务用于处理的Intent类型。
 <service android:name=".MyAccessibilityService"
         android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
     <intent-filter>
         <action android:name="android.accessibilityservice.AccessibilityService" />
     </intent-filter>
     . . .
 </service>
  • 配置
    配置的目的主要是设置该accessibilityservice用于哪个应用、处理哪种事件和获取事件的时间间隔等。
    配置有两种方式,一是通过XML文件配置,如:
 <service android:name=".MyAccessibilityService">
     <intent-filter>
         <action android:name="android.accessibilityservice.AccessibilityService" />
     </intent-filter>
     <meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibilityservice" />
 </service>

二是通过代码setServiceInfo(AccessibilityServiceInfo)配置。

相关文章

  • Android.Accessibility包之Accessibl

    accessibility service概念 “信息无障碍”起源于西方发达国家,译自Accessibility,...

  • The type Signal is not accessibl

    最近写代码的时候也遇到了一个这么一个恼人的问题。查了很多博客,大家各有各的原因。然而没有一个解决方法适合我。 无意...

  • 翻译练习D2

    1. 色彩鲜艳的药片可能被孩子们误当成糖果,因此应该把它们放在孩子们拿不着的地方。(thus, accessibl...

  • python函数之闭包

    目录 python函数之闭包什么是闭包python中的namespace闭包的条件闭包的优点 python函数之闭...

  • swift闭包学习

    闭包作为参数 参考 Swift学习之闭包

  • 送砖

    包中之砖,勿弃勿去,爷爷所赠; 包中之砖,勿弃勿取,爸爸所予; 包中之砖,勿弃勿提,至亲所寄。 注:今晨,初苦于无...

  • 『手工零钱包』——新手老司机

    新手包匠初体验之——零钱包动作分解 ...

  • JavaScript----闭包

    javascript之闭包 闭包的概念     闭包(closure)是 JavaScript 的一种语法特性。 ...

  • 学习JS笔记(第七章-闭包,作用域)

    闭包的概念## 闭包实例## 数据传递更加灵活### 常见错误之循环闭包### 封装变量### 闭包小结## 作用...

  • 应用抓包之Fiddler抓包

    抓包前准备 tcpdump抓包:应用抓包之tcpdump命令抓包 原料 1.抓包工具Fiddler(Windows...

网友评论

      本文标题:Android.Accessibility包之Accessibl

      本文链接:https://www.haomeiwen.com/subject/sxawvttx.html