博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android2.2 API 中文文档系列(3) —— AccessibilityService
阅读量:6703 次
发布时间:2019-06-25

本文共 1673 字,大约阅读时间需要 5 分钟。

 一、结构

  java.lang.Object

      android.content.Context

             android.content.ContextWrapper

                   android.app.Service

                              android.accessibilityservice.AccessibilityService

  public abstract class AccessibilityService extends Service

二、类概述

      AccessibilityEvent事件被启动后AccessibilityService 会接收回调函数运行于后台,这些事件指的是在用户接口间的状态转换,比如,焦点变化,按钮被点击等。一些辅助服务继承于此类并且实现它的抽象方法,像这样的一个服务和其他服务一样在AndroidManifest.xml中被声明但它必须被指定操纵

android.accessibilityservice.AccessibilityService的意图,下面的是一段例子:

<
service 
android:name
=".MyAccessibilityService"
>
<
intent-filter
>
<
action 
android:name
="android.accessibilityservice.AccessibilityService"
 
/>
</
intent-filter
>
</
service
>

  辅助服务的声明周期只能被系统管理,启动或者停止这个服务必须由明确的用户通过启用或停用设备的设定,在系统通过呼叫onServiceConnected()方法与服务绑定后,这个方法才能被想要执行装载的客户端所重载使用,一个辅助服务通过呼叫setServiceInfo(AccessibilityServiceInfo)方法来设定AccessibilityServiceInfo而配置。你可以在任何时候改变这个服务的配置但最好是在重载方法onServiceConnected().中来使用。

一个辅助服务可以在特定的包中注册事件以提供特殊的反馈类型并且当最后一个关联的事件被解除的时候发出明确的超时提醒。 

  三、通告策略

  对于每个回馈类型只有一个辅助服务被通知,服务登记处按顺序被通知,因此,如果有两个服务为同一个包中的同一回馈类型注册那么第一个会被通知,然而有可能的是,可以为一个给定的回馈类型去把一个服务注册为默认的,这样的话如果没有其他的服务来取代这个事件这个服务就会被呼出使用,换句话说,默认的服务不会与其他的服务竞争并且不管注册的顺序而被通知。

  四、公共方法:

  abstract void onAccessibilityEvent(AccessibilityEvent event)

  回调AccessibilityEvents.

       参数  

        event 一个事件

  public final IBinder onBind (Intent intent)

      实现返回一个内部的辅助接口的实现,子类不能被重写。

  参数 

        intent  与服务相绑定的意图,注意其他任何包含在Intent的外部意图将不能在此使用。

  返回值  

        返回一个客户端可以在服务上访问的IBinder

          public abstract void onInterrupt ()

            打断辅助回馈内容时呼叫。

  五、保护方法:

  5.1   protected void onServiceConnected ()

       
这个方法是
AccessibilitySe
rvice
声明周期的一部分,在系统成功与服务绑定后才被呼叫,如果用来设定
AccessibilityServiceInfo.
这个方法更为方便。
 

  六、Word版本下载:

     

本文转自博客园农民伯伯的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
open-falcon ---安装Dashboard时候报错"SSLError: The read operation timed out"
查看>>
FLEX程序设计--事件和事件机制--键盘事件
查看>>
【重构笔记04】重新组织数据(2)
查看>>
在VC中如何才能得到当前屏幕的分辨率
查看>>
一个Linux脚本搞定常用软件的安装
查看>>
[LeetCode] Linked List Random Node 链表随机节点
查看>>
数据仓库专题(15)-数据仓库建设基本原则-实践篇(求补充)
查看>>
关于IoT网络的一些特征的探讨
查看>>
tkinter的GUI设计:界面与逻辑分离(一)-- 初次见面
查看>>
拓扑学中凝聚点的几个等价定义
查看>>
64.5. PHP mail()
查看>>
iOS微信6.5.19可生成自己的赞赏码
查看>>
你的GitHub Guides探险
查看>>
jsch上传文件功能
查看>>
iOS - Swift Closure 闭包
查看>>
新版 Edge 浏览器 Logo 曝光:形状相同,但为黄色背景
查看>>
Mac下遇到 &#39;reading initial communication packet’ 问题
查看>>
手把手教你webpack3(10)Less-Loader配置简述
查看>>
Hadoop设置环境变量注意事项
查看>>
SAP MM Service Specification的使用?
查看>>