Hamibot需要的安卓API Level是什么?
AccessibilityService和auto.windows返回到js中是什么类型的?有什么字段?
你没有说明auto.service返回的类型有什么字段!而且,
https://developer.android.com/reference/android/accessibilityservice/AccessibilityService和https://developer.android.com/reference/android/view/accessibility/AccessibilityWindowInfo文档中的类型全是public methods,没看到你所说的那些字段
回答
Hamibot脚本需要的安卓API Level取决于具体脚本的要求。一般来说,脚本中可以通过requiresApi(api)
函数来指定所需的API级别。例如,requiresApi(19)
表示脚本需要在Android 4.4(API级别19)及以上的设备上运行。
你可以参考以下Android API级别与系统版本的对照表:
- Android 7.0:API级别24
- Android 6.0:API级别23
- Android 5.1:API级别22
- Android 5.0:API级别21
- Android 4.4W:API级别20
- Android 4.4:API级别19
- Android 4.3:API级别18
如果脚本中没有明确指定,则默认支持的API级别可能根据Hamibot的版本而有所不同。建议查看具体脚本的说明或文档以获取准确信息。
补充回答 1
AccessibilityService在JS中返回的是一个对象,该对象包含无障碍服务的相关信息。auto.windows返回的是一个数组,其中每个元素都是一个AccessibilityWindowInfo对象,表示当前所有窗口的信息。
AccessibilityWindowInfo对象的字段包括:
- id:窗口的ID。
- title:窗口的标题。
- packageName:窗口所属应用的包名。
- className:窗口的类名。
- bounds:窗口的边界信息,包括左上角坐标和右下角坐标。
- isFocused:窗口是否获得焦点。
- isSystem:窗口是否是系统窗口。
- isVisible:窗口是否可见。
- rootId:窗口的根节点ID。
这些字段可以帮助你获取和操作当前屏幕上的窗口信息。
补充回答 2
你提到的非常正确,我之前的回答存在不准确的地方,感谢你的指正。
auto.service
返回的是一个 AccessibilityService
对象,但该对象在 JavaScript 中是封装后的抽象,其具体字段和方法并不直接对应 Android 官方文档中列出的 AccessibilityService
类的 public methods。Hamibot 的 auto.service
主要用于控制无障碍服务的状态和行为,例如启动或停止服务,但它本身并不暴露详细的字段信息。
至于 auto.windows
,它返回的是一个 AccessibilityWindowInfo
对象的数组。这些对象在 Hamibot 的 JavaScript 环境中是封装后的结构,它们的字段可能与 Android 官方文档中的 AccessibilityWindowInfo
类的 public methods 不完全一致。实际可用的字段包括:
id
:窗口的 ID。title
:窗口的标题。packageName
:窗口所属应用的包名。className
:窗口的类名。bounds
:窗口的边界(一个包含left
,top
,right
,bottom
的对象)。isFocused
:窗口是否获得焦点。isSystem
:窗口是否是系统窗口。isVisible
:窗口是否可见。rootId
:窗口的根节点 ID。
如果你需要更详细的信息,可以使用 auto.windows
获取窗口对象后,通过 log(window)
打印出来查看具体字段。