更新记录
1.0.0(2026-10-30)
- 检测应用是否已开启无障碍服务
isAccessibilityEnabled
- 判断服务是否已连接
isServiceConnected
- 跳转系统无障碍设置页
openAccessibilitySettings
- 手势控制:
click 单击、longPress 长按、swipe 滑动
- 全局动作:
performBack / performHome / performRecents
源码包含服务端,运行服务端,可浏览器页面操作手机界面
平台兼容性
uni-app(5.0)
| Vue2 |
Vue2插件版本 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
Android插件版本 |
iOS |
鸿蒙 |
| √ |
1.0.0 |
× |
× |
× |
× |
× |
5.0 |
1.0.0 |
× |
× |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(5.0)
| Chrome |
Safari |
Android |
Android插件版本 |
iOS |
鸿蒙 |
微信小程序 |
| × |
× |
5.0 |
1.0.0 |
× |
× |
× |
其他
| 多语言 |
暗黑模式 |
宽屏模式 |
蒸汽模式 |
| × |
× |
× |
√ |
uni-accessibility 无障碍服务与手势控制(UTS)
仅支持 Android,需 Android 7.0(API 24)及以上。
能力
- 检测应用是否已开启无障碍服务
- 一键跳转系统无障碍设置页
- 开启后通过
dispatchGesture 执行点击、长按、滑动(坐标为物理像素)
- 全局动作:返回 / 主页 / 最近任务
用法(uni-app,Vue2 / Vue3 均可)
import {
isAccessibilityEnabled,
isServiceConnected,
openAccessibilitySettings,
click,
longPress,
swipe,
performBack,
performHome,
performRecents
} from '@/uni_modules/uni-accessibility';
// 1. 检测
if (!isAccessibilityEnabled()) {
// 2. 跳转设置让用户开启
openAccessibilitySettings();
}
// 3. 服务连接后控制点击(物理像素)
click(540, 960).then((ok) => {
console.log('点击结果', ok);
});
longPress(540, 960, 800); // 长按 800ms
swipe(540, 1500, 540, 600, 300); // 上滑
performBack();
performHome();
performRecents();
注意
- 必须使用 自定义基座(含 AndroidManifest 与 res 配置),标准基座不生效。
- 开启无障碍后,系统会创建服务;
isAccessibilityEnabled() 为 true 但 isServiceConnected() 可能稍有延迟,手势需在连接后执行。
- 手势坐标为 物理像素,不是 rpx。可用
uni.getSystemInfoSync() 的 screenWidth/screenHeight 参考。
- 无障碍服务须用户手动在系统设置中开启,任何应用都无法静默开启。