更新记录
1.0.0(2026-02-05) 下载此版本
测试
平台兼容性
以下是 KioskPlugin 的通用插件说明文档(适用于基于 uni-app + 原生 Android 插件的 Kiosk 模式场景):
📦 插件名称:KioskPlugin
用于在 Android 设备上实现 Kiosk Mode(霸屏/设备锁定模式),常用于自助终端、信息亭、工业手持机、考试设备等需要限制用户操作的场景。
🔧 功能特性
| 功能 | 说明 |
|---|---|
✅ isDeviceOwner() |
检测当前 App 是否已被设置为 设备所有者(Device Owner) |
✅ startLockTask() |
启动 锁定任务模式(Lock Task Mode),进入全屏霸屏状态 |
✅ stopLockTask() |
退出霸屏模式,恢复普通应用行为 |
| ✅ 自动隐藏状态栏、导航栏 | 防止用户下拉通知或返回桌面 |
| ✅ 禁用 Home 键、Recent 键 | 需配合 Device Owner 权限 |
⚠️ 注意:必须将 App 设置为 Device Owner 才能生效,否则仅能部分限制界面。
📱 使用前提条件
- Android 5.0+(API 21+)
- 设备已开启 USB 调试
- 通过 ADB 命令将 App 设置为 设备所有者(Device Owner)
adb shell dpm set-device-owner <你的包名>/.DeviceAdminReceiver示例:
adb shell dpm set-device-owner com.example.kiosk/.DeviceAdminReceiver - App 中需包含
DeviceAdminReceiver实现(通常由插件提供)
💡 JavaScript 调用示例(uni-app)
// 引入原生插件
const kiosk = uni.requireNativePlugin('KioskPlugin');
if (!kiosk) {
uni.showToast({ title: 'KioskPlugin 未加载,请使用自定义基座', icon: 'none' });
return;
}
// 1. 检查是否为设备所有者
kiosk.isDeviceOwner(res => {
const result = JSON.parse(res);
console.log('Is Device Owner:', result.result); // true / false
if (result.result) {
// 2. 进入霸屏模式
kiosk.startLockTask(callbackRes => {
uni.showToast({ title: '✅ 已进入霸屏模式', icon: 'none' });
});
} else {
uni.showToast({ title: '❌ 请先设为设备所有者', icon: 'none' });
}
});
// 3. 退出霸屏(可选)
// kiosk.stopLockTask(() => {
// uni.showToast({ title: '已退出霸屏', icon: 'none' });
// });
📁 插件文件结构(HBuilderX 项目)
/nativeplugins/
└── KioskPlugin/
├── android/
│ └── kiosk-plugin.aar ← 原生插件包
└── package.json ← 插件元信息(必须存在)
package.json 内容示例:
{
"name": "KioskPlugin",
"version": "1.0.0"
}
📄 manifest.json 配置
已在你的配置中正确声明:
"nativePlugins": {
"KioskPlugin": {
"__plugin_info__": {
"name": "KioskPlugin",
"platforms": "Android"
}
}
}
⚠️ 注意事项
| 问题 | 解决方案 |
|---|---|
插件返回 undefined |
必须使用 自定义运行基座(不能用默认调试基座) |
isDeviceOwner 返回 false |
未通过 ADB 设置设备所有者 |
| 无法禁用 Home 键 | 未获得 Device Owner 权限,普通 App 无法拦截 Home 键 |
| 设备已登录 Google 账号 | 无法设置 Device Owner,需恢复出厂设置 |
| 插件崩溃 | 检查 AndroidManifest.xml 是否注册了 DeviceAdminReceiver |
🛠️ 如何设置 Device Owner(关键步骤)
- 安装你的 App 到测试设备
- 确保设备 未登录任何 Google 账户
- 电脑连接设备,执行命令:
adb shell dpm set-device-owner com.your.package/.DeviceAdminReceiver包名需与
manifest.json中一致,Receiver 类名由插件提供(常见为.DeviceAdminReceiver或.AdminReceiver) - 成功后会提示:
Success: Device owner set to package ComponentInfo{...}
📌 适用场景
- 自助售票机 / 取号机
- 商场导览终端
- 工厂 PDA 设备
- 考试专用平板
- 数字标牌(Digital Signage)
❓ 常见问题
Q:能否在非 Root 设备上使用?
A:可以!但必须通过 ADB 设置 Device Owner,且设备不能有 Google 账号。
Q:iOS 支持吗?
A:不支持。iOS 的 Kiosk 模式需通过 MDM(移动设备管理) 或 Guided Access 实现,无法通过普通插件完成。
Q:退出霸屏后如何恢复?
A:调用 stopLockTask(),或重启 App,或卸载 Device Owner(需 ADB 命令)。
如果你有该插件的官方文档或 .aar 文件来源,建议优先参考其具体 API。以上为通用 Kiosk 插件的标准行为。
如需我帮你写完整的 DeviceAdminReceiver 配置或 ADB 脚本,也可以告诉我!

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 0
赞赏 0
下载 11208753
赞赏 1856
赞赏
京公网安备:11010802035340号