id来获取某个控件
val node = root.findAccessibilityNodeInfosByText("确定") //通过text来获取某个控件
val node = root.findFoucs(int falg) //寻拥有特殊焦点的控件(FOCUS_INPUT 或 FOCUS_ACCESSIBILITY)
⾄于viewId的获取,我们可以通过android Device Monitor⼯具来查看,对于3.0之后的android studio,可以通过命令⾏⼯具进⼊sdk的tools ⽬录,运⾏下⾯命令:
monitor
交互
事件交互
拿到AccessibilityNodeInfo对象后,我们可以进⾏⼀些列的操作,包括getChild()、getParent()、getBoundsInScreen()、isClickable等等⼀些列获取属性的操作,当然也可以进⾏交互性的操作,⽐如点击(当然前提是这个控件的clickable为true):
安卓intent用法node[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
除了操作界⾯内控件之外,我们还可以通过performGlobalAction(int action)执⾏⼀些全局操作,⽐如点击back键、home键等等。
performGlobalAction(GLOBAL_ACTION_BACK)
performGlobalAction(GLOBAL_ACTION_HOME)
performGlobalAction(GLOBAL_ACTION_NOTIFICATIONS)
performGlobalAction(GLOBAL_ACTION_RECENTS)
⼿势交互
除了Action交互之外,我们还可以模拟⼈的⼿势进⾏操作,这是在Android 24中新加的⼀个api:
dispatchGesture(gesture, callback, handler)
它接收⼀个GestureDescription(⼿势描述)、⼀个GestureResultCallback(结果回调)和⼀个Handler。简单封装⼀下⼤概是这样的:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论