申明:本文部分内容为网络相关资料整理,并结合本人实际工作总结而成。请引用或者转载注明出处,对于文章内容有疑问请留言。
公共抽象类AccessibilityService
extends Service
java.lang.Object继承
↳android.content.Context
↳android.content.ContextWrapper
↳android.app.Service
↳android.accessibilityservice.AccessibilityService
辅助功能服务只能用于帮助残疾人使用Android设备和应用。它们在后台运行,并在触发AccessibilityEvent时由系统接收回调。这样的事件表示用户界面中的一些状态转换,例如,焦点已经改变,按钮被点击等等。这样的服务可以可选地请求查询活动窗口的内容的能力。开发无障碍服务需要扩展此类并实现其抽象方法。
开发者指南
有关创建辅助功能服务的更多信息,请阅读辅助功能开发人员指南。
生命周期
辅助服务的生命周期由系统专门管理,并遵循已建立的服务生命周期。启动辅助功能服务是由用户在设备设置中明确地打开服务而触发的。系统绑定到一个服务后,它调用onServiceConnected()。可以由想要执行后绑定设置的客户端覆盖此方法。当用户在设备设置中关闭辅助服务或者调用disableSelf()时,停用辅助服务。
声明
一个辅助功能被声明为AndroidManifest.xml中的任何其他服务,但它必须做两件事情:
指定它处理“android.accessibilityservice.AccessibilityService”意图。
请求BIND_ACCESSIBILITY_SERVICE权限,以确保只有系统可以绑定到它。
如果这些项目中的任一项丢失,系统将忽略辅助功能服务。以下是一个示例声明:
<service android:name=".MyAccessibilityService" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"> <intent-filter> <action android:name="android.accessibilityservice.AccessibilityService" /> </intent-filter> . . . </service>
组态
可以将辅助服务配置为接收特定类型的可访问性事件,仅侦听特定包,在给定时间范围内仅从每个类型获取事件一次,检索窗口内容,指定设置活动等。
配置辅助服务有两种方法:
在声明服务时,在清单中提供元数据条目。带有元数据标签的服务声明如下:
<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>
注意:此方法可以设置所有属性。
有关详细信息,请参阅SERVICE_META_DATA和<accessibility-service>。
调用setServiceInfo(AccessibilityServiceInfo)。请注意,此方法可以随时调用以动态更改服务配置。
注意:此方法仅可设置动态可配置的属性:eventTypes,feedbackType,flags,notificationTimeout,packageNames
有关更多详细信息,请参阅AccessibilityServiceInfo。
检索窗口内容
服务可以在其声明中指定它可以检索表示为AccessibilityWindowInfo和AccessibilityNodeInfo对象的树的窗口内容。请注意,声明此功能要求该服务通过SERVICE_META_DATA引用的XML资源声明其配置。
可以使用AccessibilityEvent.getSource(),findFocus(int),getWindows()或getRootInActiveWindow()检索窗口内容。
注意一个辅助功能服务可能已被请求通知事件类型的一个子集,因此在节点层次结构已更改时不知道。节点也可能包含过时的信息,因为窗口内容可能随时改变。
通知策略
所有无障碍服务都会被通知他们所要求的所有事件,而不考虑其反馈类型。
注意:事件通知超时对于避免将事件传播到客户端太频繁有用,因为这是通过昂贵的进程间调用完成的。人们可以将超时视为确定事件生成已经落定的标准。
事件类型
TYPE_VIEW_CLICKED
TYPE_VIEW_LONG_CLICKED
TYPE_VIEW_FOCUSED
TYPE_VIEW_SELECTED
TYPE_VIEW_TEXT_CHANGED
TYPE_WINDOW_STATE_CHANGED
TYPE_NOTIFICATION_STATE_CHANGED
TYPE_TOUCH_EXPLORATION_GESTURE_START
TYPE_TOUCH_EXPLORATION_GESTURE_END
TYPE_VIEW_HOVER_ENTER
TYPE_VIEW_HOVER_EXIT
TYPE_VIEW_SCROLLED
TYPE_VIEW_TEXT_SELECTION_CHANGED
TYPE_WINDOW_CONTENT_CHANGED
TYPE_ANNOUNCEMENT
TYPE_GESTURE_DETECTION_START
TYPE_GESTURE_DETECTION_END
TYPE_TOUCH_INTERACTION_START
TYPE_TOUCH_INTERACTION_END
TYPE_VIEW_ACCESSIBILITY_FOCUSED
TYPE_WINDOWS_CHANGED
TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED
反馈类型
FEEDBACK_AUDIBLE
FEEDBACK_HAPTIC
FEEDBACK_AUDIBLE
FEEDBACK_VISUAL
FEEDBACK_GENERIC
FEEDBACK_BRAILLE
也可以看看:
AccessibilityEvent
AccessibilityServiceInfo
AccessibilityManager
概要
嵌套类
类AccessibilityService.GestureResultCallback
用于报告发送姿态的状态的类
类AccessibilityService.MagnificationController
用于控制和查询显示放大的状态。
类AccessibilityService.SoftKeyboardController
用于控制和查询软键盘显示模式。
常量
INT GESTURE_SWIPE_DOWN
用户已经在触摸屏上执行了向下滑动手势。
INT GESTURE_SWIPE_DOWN_AND_LEFT
用户已经在触摸屏上执行了向下和向左手势。
INT GESTURE_SWIPE_DOWN_AND_RIGHT
用户在触摸屏上执行了向下和向右的手势。
INT GESTURE_SWIPE_DOWN_AND_UP
用户已经在触摸屏上执行了向下和向上的向下手势。
INT GESTURE_SWIPE_LEFT
用户已经在触摸屏上执行了滑动左手势。
INT GESTURE_SWIPE_LEFT_AND_DOWN
用户已经在触摸屏上执行了左和右手势。
INT GESTURE_SWIPE_LEFT_AND_RIGHT
用户已经在触摸屏上执行了滑动左和右手势。
INT GESTURE_SWIPE_LEFT_AND_UP
用户已经在触摸屏上执行了左和右手势。
INT GESTURE_SWIPE_RIGHT
用户已经在触摸屏上执行了滑动右手势。
INT GESTURE_SWIPE_RIGHT_AND_DOWN
用户已经在触摸屏上执行了向下和向下的手势。
INT GESTURE_SWIPE_RIGHT_AND_LEFT
用户已经在触摸屏上执行了向左和向左滑动的手势。
INT GESTURE_SWIPE_RIGHT_AND_UP
用户已经在触摸屏上执行了向上和向上的手势。
INT GESTURE_SWIPE_UP
用户已经在触摸屏上执行了向上滑动手势。
INT GESTURE_SWIPE_UP_AND_DOWN
用户已经在触摸屏上执行了向上和向下的滑动手势。
INT GESTURE_SWIPE_UP_AND_LEFT
用户已经在触摸屏上执行了向上和向左的手势。
INT GESTURE_SWIPE_UP_AND_RIGHT
用户已经在触摸屏上执行了向上和向右的手势。
INT GLOBAL_ACTION_BACK
行动回去
INT GLOBAL_ACTION_HOME
行动回家
INT GLOBAL_ACTION_NOTIFICATIONS
打开通知的动作。
INT GLOBAL_ACTION_POWER_DIALOG
动作打开电源长按对话框。
INT GLOBAL_ACTION_QUICK_SETTINGS
打开快速设置的动作。
INT GLOBAL_ACTION_RECENTS
切换显示最近应用的概述的操作。
INT GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN
切换对接当前应用程序窗口的操作
字符串SERVICE_INTERFACE
必须声明为服务处理的意图。
字符串SERVICE_META_DATA
AccessibilityService组件发布有关本身的信息的名称。
INT SHOW_MODE_AUTO
INT SHOW_MODE_HIDDEN
继承常量
从类android.app.Service
从类android.content.Context
从界面android.content.ComponentCallbacks2
公共建设者
AccessibilityService()
公共方法
final void disableSelf()
禁用服务。
final boolean dispatchGesture(GestureDescription gesture,AccessibilityService.GestureResultCallback callback,Handler handler)
将手势发送到触摸屏。
AccessibilityNodeInfo findFocus(int focus)
找到具有指定焦点类型的视图。
AccessibilityButtonController getAccessibilityButtonController()
返回系统导航区域中可访问性按钮的控制器。
最终FingerprintGestureController getFingerprintGestureController()
获取控制器的指纹手势。
AccessibilityService.MagnificationController getMagnificationController()
返回放大控制器,可用于查询和修改显示放大的状态。
AccessibilityNodeInfo getRootInActiveWindow()
如果该服务可以检索窗口内容,则获取当前活动窗口中的根节点。
AccessibilityServiceInfo getServiceInfo()
获取描述此AccessibilityService的AccessibilityServiceInfo。
最终AccessibilityService.SoftKeyboardController getSoftKeyboardController()
返回软键盘控制器,可用于查询和修改软键盘显示模式。
Object getSystemService(String name)
通过名称将句柄返回到系统级服务。
列表<AccessibilityWindowInfo> getWindows()
获取屏幕上的窗口。
abstract void onAccessibilityEvent(AccessibilityEvent event)
AccessibilityEvents的回调。
最终IBinder onBind(意图意图)
实现返回内部可访问性服务接口的实现。
abstract void onInterrupt()
回拨用于中断可访问性反馈。
final boolean performGlobalAction(int action)
执行全局动作。
final void setServiceInfo(AccessibilityServiceInfo info)
设置描述此服务的AccessibilityServiceInfo。
受保护的方法
boolean onGesture(int gestureId)
当用户在触摸屏上执行特定手势时由系统调用。
boolean onKeyEvent(KeyEvent event)
回调允许辅助功能服务在将关键事件传递到系统的其余部分之前观察它们。
无效onServiceConnected()
该方法是AccessibilityService生命周期的一部分,并在系统成功绑定到该服务之后进行调用。
继承方法
从类android.app.Service
从类android.content.ContextWrapper
从类android.content.Context
从类java.lang.Object
从界面android.content.ComponentCallbacks2
从界面android.content.ComponentCallbacks
常量
GESTURE_SWIPE_DOWN
加入API级别16
int GESTURE_SWIPE_DOWN
用户已经在触摸屏上执行了向下滑动手势。
常数值:2(0x00000002)
GESTURE_SWIPE_DOWN_AND_LEFT
加入API级别16
int GESTURE_SWIPE_DOWN_AND_LEFT
用户已经在触摸屏上执行了向下和向左手势。
常数值:15(0x0000000f)
GESTURE_SWIPE_DOWN_AND_RIGHT
加入API级别16
int GESTURE_SWIPE_DOWN_AND_RIGHT
用户在触摸屏上执行了向下和向右的手势。
常数值:16(0x00000010)
GESTURE_SWIPE_DOWN_AND_UP
加入API级别16
int GESTURE_SWIPE_DOWN_AND_UP
用户已经在触摸屏上执行了向下和向上的向下手势。
常数值:8(0x00000008)
GESTURE_SWIPE_LEFT
加入API级别16
int GESTURE_SWIPE_LEFT
用户已经在触摸屏上执行了滑动左手势。
常数值:3(0x00000003)
GESTURE_SWIPE_LEFT_AND_DOWN
加入API级别16
int GESTURE_SWIPE_LEFT_AND_DOWN
用户已经在触摸屏上执行了左和右手势。
常数值:10(0x0000000a)
GESTURE_SWIPE_LEFT_AND_RIGHT
加入API级别16
int GESTURE_SWIPE_LEFT_AND_RIGHT
用户已经在触摸屏上执行了滑动左和右手势。
常数值:5(0x00000005)
GESTURE_SWIPE_LEFT_AND_UP
加入API级别16
int GESTURE_SWIPE_LEFT_AND_UP
用户已经在触摸屏上执行了左和右手势。
常数值:9(0x00000009)
GESTURE_SWIPE_RIGHT
加入API级别16
int GESTURE_SWIPE_RIGHT
用户已经在触摸屏上执行了滑动右手势。
常数值:4(0x00000004)
GESTURE_SWIPE_RIGHT_AND_DOWN
加入API级别16
int GESTURE_SWIPE_RIGHT_AND_DOWN
用户已经在触摸屏上执行了向下和向下的手势。
常数值:12(0x0000000c)
GESTURE_SWIPE_RIGHT_AND_LEFT
加入API级别16
int GESTURE_SWIPE_RIGHT_AND_LEFT
用户已经在触摸屏上执行了向左和向左滑动的手势。
常数值:6(0x00000006)
GESTURE_SWIPE_RIGHT_AND_UP
加入API级别16
int GESTURE_SWIPE_RIGHT_AND_UP
用户已经在触摸屏上执行了向上和向上的手势。
常数值:11(0x0000000b)
GESTURE_SWIPE_UP
加入API级别16
int GESTURE_SWIPE_UP
用户已经在触摸屏上执行了向上滑动手势。
常数值:1(0x00000001)
GESTURE_SWIPE_UP_AND_DOWN
加入API级别16
int GESTURE_SWIPE_UP_AND_DOWN
用户已经在触摸屏上执行了向上和向下的滑动手势。
常数值:7(0x00000007)
GESTURE_SWIPE_UP_AND_LEFT
加入API级别16
int GESTURE_SWIPE_UP_AND_LEFT
用户已经在触摸屏上执行了向上和向左的手势。
常数值:13(0x0000000d)
GESTURE_SWIPE_UP_AND_RIGHT
加入API级别16
int GESTURE_SWIPE_UP_AND_RIGHT
用户已经在触摸屏上执行了向上和向右的手势。
常数值:14(0x0000000e)
GLOBAL_ACTION_BACK
加入API级别16
int GLOBAL_ACTION_BACK
行动回去
常数值:1(0x00000001)
GLOBAL_ACTION_HOME
加入API级别16
int GLOBAL_ACTION_HOME
行动回家
常数值:2(0x00000002)
GLOBAL_ACTION_NOTIFICATIONS
加入API级别16
int GLOBAL_ACTION_NOTIFICATIONS
打开通知的动作。
常数值:4(0x00000004)
GLOBAL_ACTION_POWER_DIALOG
加入API级别21
int GLOBAL_ACTION_POWER_DIALOG
动作打开电源长按对话框。
常数值:6(0x00000006)
GLOBAL_ACTION_QUICK_SETTINGS
加入API级别17
int GLOBAL_ACTION_QUICK_SETTINGS
打开快速设置的动作。
常数值:5(0x00000005)
GLOBAL_ACTION_RECENTS
加入API级别16
int GLOBAL_ACTION_RECENTS
切换显示最近应用的概述的操作。在不显示最近应用的平台上将失败。
常数值:3(0x00000003)
GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN
添加在API 24级
int GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN
切换对接当前应用程序窗口的操作
常数值:7(0x00000007)
SERVICE_INTERFACE
加入API 4级
字符串SERVICE_INTERFACE
必须声明为服务处理的意图。
常数值:“android.accessibilityservice.AccessibilityService”
SERVICE_META_DATA
加入API 14级
字符串SERVICE_META_DATA
AccessibilityService组件发布有关本身的信息的名称。此元数据必须引用包含<accessibility-service>标签的XML资源。这是一个配置辅助服务的示例XML文件:
<accessibility-service android:accessibilityEventTypes="typeViewClicked|typeViewFocused" android:packageNames="foo.bar, foo.baz" android:accessibilityFeedbackType="feedbackSpoken" android:notificationTimeout="100" android:accessibilityFlags="flagDefault" android:settingsActivity="foo.bar.TestBackActivity" android:canRetrieveWindowContent="true" android:canRequestTouchExplorationMode="true" . . . />
常数值:“android.accessibilityservice”
SHOW_MODE_AUTO
添加在API 24级
int SHOW_MODE_AUTO
常数值:0(0x00000000)
SHOW_MODE_HIDDEN
添加在API 24级
int SHOW_MODE_HIDDEN
常数值:1(0x00000001)
公共建设者
AccessibilityService
加入API 4级
AccessibilityService()
公共方法
disableSelf
添加在API 24级
void disableSelf()
禁用服务。调用此方法后,该服务将被禁用,设置将显示它已关闭。
dispatchGesture
添加在API 24级
boolean dispatchGesture(GestureDescription gesture,
AccessibilityService.GestureResultCallback回调,
处理者处理程序)
将手势发送到触摸屏。目前正在进行的任何手势(无论是从用户,本服务还是其他服务)将被取消。
手势将像用户在屏幕上直接执行一样被调度,因此事件可能会受到诸如放大和触摸探索之类的功能的影响。
注意:为了调度手势,您的服务必须通过在其元数据中设置AccessibilityService_canPerformGestures属性来声明该功能。有关更多信息,请参阅SERVICE_META_DATA。
参数
手势GestureDescription:派遣的手势
该值不能为空。
回调AccessibilityService.GestureResultCallback:当手势的状态已知时要调用的对象。如果为空,则不报告状态。
处理程序处理程序:调用回调对象的处理程序。如果为null,则该对象在服务的主线程上被调用。
返回
boolean如果手势被分派,则为true,否则为false。
findFocus
加入API级别21
AccessibilityNodeInfo findFocus(int focus)
找到具有指定焦点类型的视图。搜索在所有窗口中执行。
注意:为了访问Windows,您的服务必须通过在其元数据中设置AccessibilityService_canRetrieveWindowContent属性来声明检索窗口内容的功能。有关详细信息,请参阅SERVICE_META_DATA。此外,服务必须选择通过设置FLAG_RETRIEVE_INTERACTIVE_WINDOWS标志来检索交互式窗口。否则,搜索将仅在活动窗口中执行。
参数
焦点int:重点查找。 FOCUS_INPUT或FOCUS_ACCESSIBILITY之一。
返回
AccessibilityNodeInfo聚焦视图的节点信息或null。
也可以看看:
FOCUS_INPUT
FOCUS_ACCESSIBILITY
getAccessibilityButtonController
加入API级别26
AccessibilityButtonController getAccessibilityButtonController()
返回系统导航区域中可访问性按钮的控制器。当设置FLAG_REQUEST_ACCESSIBILITY_BUTTON时,此实例可用于查询辅助功能按钮的状态并注册侦听器以进行交互,并调整可访问性按钮的状态更改。
注意:并非所有设备都能够在导航区域中显示辅助功能按钮,因此,此类的使用应被视为支持的设备实现上的可选功能或快捷方式。
返回
AccessibilityButtonController这个AccessibilityService的辅助功能按钮控制器
该值永远不会为空。
getFingerprintGestureController
加入API级别26
FingerprintGestureController getFingerprintGestureController()
获取控制器的指纹手势。此功能需要ERROR(/ AccessibilityServiceInfo#CAPABILITY_CAN_CAPTURE_FINGERPRINT_GESTURES)。注意:在调用此方法之前,必须连接该服务。
需要USE_FINGERPRINT权限。
返回
FingerprintGestureController用于指纹手势的控制器,如果手势不可用,则为空。
getMagnificationController
添加在API 24级
AccessibilityService.MagnificationController getMagnificationController()
返回放大控制器,可用于查询和修改显示放大的状态。
注意:为了控制放大,您的服务必须通过在其元数据中设置AccessibilityService_canControlMagnification属性来声明该功能。有关更多信息,请参阅SERVICE_META_DATA。
返回
AccessibilityService.MagnificationController放大控制器
该值永远不会为空。
getRootInActiveWindow
加入API级别16
AccessibilityNodeInfo getRootInActiveWindow()
如果该服务可以检索窗口内容,则获取当前活动窗口中的根节点。如果用户没有触摸任何窗口,则活动窗口是用户正在触摸的窗口或具有输入焦点的窗口。
当前活动的窗口被定义为最近触发的以下事件之一的窗口:TYPE_WINDOW_STATE_CHANGED,TYPE_VIEW_HOVER_ENTER,TYPE_VIEW_HOVER_EXIT。换句话说,显示的最后一个窗口也有输入焦点。
注意:为了访问根节点,您的服务必须通过在其元数据中设置AccessibilityService_canRetrieveWindowContent属性来声明检索窗口内容的功能。有关详细信息,请参阅SERVICE_META_DATA。
返回
AccessibilityNodeInfo此服务可以检索窗口内容的根节点。
getServiceInfo
加入API级别16
AccessibilityServiceInfo getServiceInfo()
获取描述此AccessibilityService的AccessibilityServiceInfo。如果想在运行时更改一些可动态配置的属性,这个方法很有用。
返回
AccessibilityServiceInfo辅助功能信息。
也可以看看:
AccessibilityServiceInfo
getSoftKeyboardController
添加在API 24级
Accessibility.SoftKeyboardController getSoftKeyboardController()
返回软键盘控制器,可用于查询和修改软键盘显示模式。
返回
Accessibility.SoftKeyboardController软键盘控制器
该值永远不会为空。
getSystemService
加入API 4级
Object getSystemService(String name)
通过名称将句柄返回到系统级服务。返回对象的类根据请求的名称而异。目前可用的名称有:
WINDOW_SERVICE(“window”)
您可以在其中放置自定义窗口的顶级窗口管理器。返回的对象是一个WindowManager。
LAYOUT_INFLATER_SERVICE(“layout_inflater”)
一个LayoutInflater用于在这种情况下膨胀布局资源。
ACTIVITY_SERVICE(“活动”)
用于与系统的全局活动状态进行交互的ActivityManager。
POWER_SERVICE(“power”)
用于控制电源管理的PowerManager。
ALARM_SERVICE(“alarm”)
用于在您选择时接收意图的AlarmManager。
NOTIFICATION_SERVICE(“通知”)
一个NotificationManager,用于通知用户背景事件。
KEYGUARD_SERVICE(“keyguard”)
用于控制键盘保护的KeyguardManager。
LOCATION_SERVICE(“location”)
用于控制位置(例如,GPS)更新的LocationManager。
SEARCH_SERVICE(“search”)
用于处理搜索的SearchManager。
VIBRATOR_SERVICE(“振动器”)
振动器用于与振动器硬件相互作用。
CONNECTIVITY_SERVICE(“connection”)
一个用于处理网络连接管理的ConnectivityManager。
WIFI_SERVICE(“wifi”)
用于管理Wi-Fi连接的WifiManager。在NYC之前的版本中,它应该只能从应用程序上下文获得,而不能从任何其他派生上下文获取,以避免调用过程中的内存泄漏。
WIFI_AWARE_SERVICE(“wifiaware”)
用于管理Wi-Fi感知发现和连接的WifiAwareManager。
WIFI_P2P_SERVICE(“wifip2p”)
用于管理Wi-Fi直接连接的WifiP2pManager。
INPUT_METHOD_SERVICE(“input_method”)
用于管理输入法的InputMethodManager。
UI_MODE_SERVICE(“uimode”)
用于控制UI模式的UiModeManager。
DOWNLOAD_SERVICE(“下载”)
一个用于请求HTTP下载的DownloadManager
BATTERY_SERVICE(“batterymanager”)
用于管理电池状态的BatteryManager
JOB_SCHEDULER_SERVICE(“taskmanager”)
用于管理计划任务的JobScheduler
NETWORK_STATS_SERVICE(“netstats”)
NetworkStatsManager用于查询网络使用统计信息。
HARDWARE_PROPERTIES_SERVICE(“hardware_properties”)
用于访问硬件属性的HardwarePropertiesManager。
注意:通过此API获取的系统服务可能与从其获取的上下文密切相关。一般来说,不要在各种不同的上下文(活动,应用程序,服务,提供商等)之间共享服务对象
参数
name String:所需服务的名称。
该值不能为空。
返回
对象该服务,如果该名称不存在则为null。
getWindows
加入API级别21
列表<AccessibilityWindowInfo> getWindows()
获取屏幕上的窗口。该方法只返回有目标用户可以与之相互影响的窗口,而不是所有窗口。例如,如果显示了一个模态对话框,并且用户无法触摸它后面的任何东西,则只会显示模态窗口(假设它是顶部的)。为了方便起见,返回的窗口按照降序顺序排列,这是首先报告Z序中较高的窗口。由于用户总是可以通过键入与输入焦点的窗口进行交互,所以聚焦的窗口总是返回(即使被模态窗口覆盖)。
注意:为了访问Windows,您的服务必须通过在其元数据中设置AccessibilityService_canRetrieveWindowContent属性来声明检索窗口内容的功能。有关详细信息,请参阅SERVICE_META_DATA。此外,服务必须选择通过设置FLAG_RETRIEVE_INTERACTIVE_WINDOWS标志来检索交互式窗口。
返回
列表<AccessibilityWindowInfo>如果有Windows和服务的窗口可以检索它们,否则为空列表。
onAccessibilityEvent
加入API 4级
void onAccessibilityEvent(AccessibilityEvent event)
AccessibilityEvents的回调。
参数
事件AccessibilityEvent:新事件。此事件由调用者拥有,此方法返回后无法使用。希望在此方法返回后使用事件的服务应该复制一份。
onBind
加入API 4级
IBinder onBind(意图意图)
实现返回内部可访问性服务接口的实现。
参数
意图意图:根据Context.bindService给出的用于绑定到此服务的意图。请注意,此刻,Intent中包含的任何附加功能将不会在此处显示。
返回
IBinder返回一个IBinder,通过该IBinder客户端可以访问该服务。
onInterrupt
加入API 4级
void onInterrupt()
回拨用于中断可访问性反馈。
performGlobalAction
加入API级别16
boolean performGlobalAction(int action)
执行全局动作。无论该应用程序中的当前应用程序或用户位置如何,都可以随时执行此类操作。例如回去,回家,开门等
参数
action int:执行的动作。
返回
boolean是否成功执行了动作。
也可以看看:
GLOBAL_ACTION_BACK
GLOBAL_ACTION_HOME
GLOBAL_ACTION_NOTIFICATIONS
GLOBAL_ACTION_RECENTS
setServiceInfo
加入API 4级
void setServiceInfo(AccessibilityServiceInfo info)
设置描述此服务的AccessibilityServiceInfo。
注意:您可以随时调用此方法,但是在系统绑定到此服务之后以及之后调用此方法时,信息将被拾取。
参数
info AccessibilityServiceInfo:信息。
受保护的方法
onGesture
加入API级别16
boolean onGesture(int gestureId)
当用户在触摸屏上执行特定手势时由系统调用。注意:要接收手势,无障碍服务必须通过设置FLAG_REQUEST_TOUCH_EXPLORATION_MODE标志来请求设备处于触摸探测模式。
参数
gestureId int:执行手势的唯一ID。
返回
布尔值是否处理了手势。
也可以看看:
GESTURE_SWIPE_UP
GESTURE_SWIPE_UP_AND_LEFT
GESTURE_SWIPE_UP_AND_DOWN
GESTURE_SWIPE_UP_AND_RIGHT
GESTURE_SWIPE_DOWN
GESTURE_SWIPE_DOWN_AND_LEFT
GESTURE_SWIPE_DOWN_AND_UP
GESTURE_SWIPE_DOWN_AND_RIGHT
GESTURE_SWIPE_LEFT
GESTURE_SWIPE_LEFT_AND_UP
GESTURE_SWIPE_LEFT_AND_RIGHT
GESTURE_SWIPE_LEFT_AND_DOWN
GESTURE_SWIPE_RIGHT
GESTURE_SWIPE_RIGHT_AND_UP
GESTURE_SWIPE_RIGHT_AND_LEFT
GESTURE_SWIPE_RIGHT_AND_DOWN
onKeyEvent
加入API级别18
boolean onKeyEvent(KeyEvent event)
回调允许辅助功能服务在将关键事件传递到系统的其余部分之前观察它们。这意味着事件首先在这些事件传递到设备策略,输入法或应用程序之前传递。
注意:重要事项是以传递给系统其余部分的事件流格式正确的方式进行处理。例如,处理down事件而不是up事件,反之亦然将产生不一致的事件流。
注意:此方法中提供的关键事件是副本和修改它们将不会影响将传递给系统的事件。此方法旨在执行纯过滤功能。
参数
事件KeyEvent:要处理的事件。此事件由调用者拥有,此方法返回后无法使用。希望在此方法返回后使用事件的服务应该复制一份。
返回
boolean如果为true,那么事件将被消耗,而不会传递给应用程序,否则将按照惯例进行传递。
onServiceConnected
加入API 4级
void onServiceConnected()
该方法是AccessibilityService生命周期的一部分,并在系统成功绑定到该服务之后进行调用。 如果方便使用此方法设置AccessibilityServiceInfo。
也可以看看:
AccessibilityServiceInfo
setServiceInfo(AccessibilityServiceInfo)