android - AccessibilityNodeInfo.ACTION_CLICK 不执行点击
问题描述
我正在尝试对另一个应用程序的按钮执行单击操作,但它不起作用。这是我的代码:
if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED && lgPhone){
if (info.getContentDescription() != null){
if (info.getContentDescription().toString().equals("Merge calls")){
List<AccessibilityNodeInfo> mergeButtonList =
info.findAccessibilityNodeInfosByViewId("com.android.incallui:id/mergeButton");
if (mergeButtonList != null) {
AccessibilityNodeInfo mergeButton =mergeButtonList.get(0) ;
if (mergeButton.isClickable()){
Log.i("important Information","Is the button clickable?:"+mergeButton.isClickable());
mergeButton.performAction(AccessibilityNodeInfo.ACTION_CLICK);
}
}
}
}
}
我确实打印了日志,它返回“True”但不执行单击选项。如果我访问该特定事件的操作,我会得到:
actions: [AccessibilityAction: ACTION_FOCUS - null, AccessibilityAction:
ACTION_SELECT - null, AccessibilityAction: ACTION_CLEAR_SELECTION - null,
AccessibilityAction: ACTION_CLICK - null, AccessibilityAction:
ACTION_ACCESSIBILITY_FOCUS - null, AccessibilityAction:
ACTION_NEXT_AT_MOVEMENT_GRANULARITY - null, AccessibilityAction:
ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY - null, AccessibilityAction:
ACTION_SET_SELECTION - null, AccessibilityAction: ACTION_UNKNOWN - null]
所以我认为这不起作用,因为 ACTION_CLICK 选项为空,但我不确定。
解决方案
推荐阅读
- calendar - 如何获取共享 O365 日历的 URL?
- git - 如果文件大小超过 26 MB,则无法以编程方式推送到 GIT 存储库
- android - DirectionsApiRequest 在 SDK 26 Android 手机下无法正常工作
- sql - 左连接与子查询
- html - 固定位置在 safari 上被切断
- python - 在我的 Knight's Move Python 程序中查找错误
- docker - 将时区参数传递给 gitlab 服务
- python - 如何将 Keras 转换为 Tensorflow Lite 并从另一种语言中使用?
- docker - Docker compose 权限被卷拒绝
- xamarin - 如何获取已关闭或未关闭电源的配对蓝牙设备列表是 UWP 中的范围