Android Kiosk 模式详解
前言
在自助售货机、智能柜、POS机、自助点餐机、工业平板等设备项目中,经常会听到客户提出这样的需求:
-
用户不能退出应用
-
不允许安装其他APP
-
不允许进入系统设置
-
开机自动进入业务系统
-
设备只能运行指定应用
很多人会把这些需求统称为:
Kiosk Mode(专用终端模式)
那么 Kiosk 到底是什么?Android 又是如何实现的?
本文一次讲清楚。
什么是 Kiosk Mode

Kiosk(信息亭)最初来源于公共自助终端。
例如:
-
自助售货机
-
自助点餐机
-
医院挂号机
-
银行终端
-
智能快递柜
-
广告机
这些设备都有一个共同特点:
用户只能使用指定功能,无法操作系统本身。
因此衍生出了:
Kiosk Mode(专用终端模式)
简单理解:
普通平板
├─ 微信
├─ 浏览器
├─ 设置
├─ 应用商店
└─ 任意安装APP
Kiosk设备
└─ 指定业务APP
Kiosk 模式包含哪些能力
很多人认为:
Kiosk = 锁屏
实际上远不止如此。
完整 Kiosk 通常包含:
| 功能 | 说明 |
|---|---|
| 开机自启动 | 自动进入业务系统 |
| 应用白名单 | 只允许指定APP运行 |
| 禁止状态栏 | 下拉菜单不可用 |
| 禁止导航栏 | 返回键失效 |
| 桌面锁定 | 禁止切换Launcher |
| 禁止安装应用 | 防止安装游戏等软件 |
| 禁止系统设置 | 用户无法修改参数 |
| 自动拉起应用 | APP异常退出后恢复 |
| 远程管理 | OTA升级、远程控制 |
Google 官方如何定义 Kiosk
Google 在 Android Enterprise 中定义了:
Android Enterprise
两种模式:
Single App Kiosk
单应用模式
设备只能运行一个APP
例如:
-
点餐机
-
广告机
-
查询终端
Multi App Kiosk
多应用模式
允许多个APP
但必须在白名单内
例如:
业务APP
浏览器
支付APP
远程协助APP
Kiosk 常见实现方案
方案1:Launcher替换(最常见)
原理:
系统桌面
↓
自定义桌面
↓
业务APP
设备启动后直接进入自定义 Launcher。
优点:
-
实现简单
-
兼容性好
缺点:
-
安全性一般
适用于:
-
广告机
-
展示屏
方案2:Lock Task Mode
Android 官方提供。
核心 API:
startLockTask();
stopLockTask();
效果:
-
Home键失效
-
Recent键失效
-
返回键受控
适用于:
Android 5.0+
优点:
-
官方支持
-
安全性较高
方案3:Device Owner(企业级方案)
这是目前最正规的方案。
设备激活后:
Device Owner
↓
MDM
↓
策略控制
可实现:
-
白名单
-
OTA
-
应用管理
-
网络管理
-
USB管理
等企业级能力。
应用白名单是什么
很多规格书会写:
Application Whitelist
意思是:
只有白名单中的应用允许运行。
例如:
com.xxx.vending
com.xxx.payment
com.xxx.remote
其它APP:
禁止启动
禁止安装
禁止运行
桌面锁定是什么
很多客户会问:
“支持 Kiosk 吗?”
实际上通常指:
桌面锁定
+
应用白名单
例如:
用户点击Home键
↓
仍然回到业务系统
而不是进入系统桌面。
自助设备中的典型架构
以智能柜为例:
Android系统
↓
Kiosk Service
↓
Launcher
↓
业务APP
业务APP异常退出:
WatchDog
↓
自动拉起
确保设备长期无人值守运行。
Kiosk ≠ 一个APP
很多客户误认为:
Kiosk 是某个软件
其实不是。
Kiosk 是一种:
设备管理模式(Device Management Mode)
可以通过:
-
Launcher
-
Lock Task
-
Device Owner
-
MDM
等多种方式实现。
项目实践建议
对于售货机、智能柜、POS设备,建议至少具备:
✅ 开机自启动
✅ 应用白名单
✅ 桌面锁定
✅ WatchDog保活
✅ OTA升级
✅ 远程运维
如果这些能力都具备,基本就已经满足绝大多数客户所说的:
“支持 Kiosk 模式”。
总结
Kiosk 模式并不是一个具体软件,而是一套专用终端管理方案。
其核心目标只有一个:
让用户只能使用指定业务功能,无法操作设备本身。
常见能力包括:
-
开机自启动
-
应用白名单
-
桌面锁定
-
导航栏限制
-
Device Owner 管理
-
远程运维
对于智能柜、售货机、POS、自助终端等场景,Kiosk 已经成为设备交付的基础能力之一
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)