README_集成说明索引.md 8.5 KB

Kiosk 模式集成说明 - 文档索引

🎯 你的问题

问题:在 UniApp 的离线 Android 工程里导入了 myLockViewmyWIFIView,如何不通过 JS 来调用 disableLockScreen() 等功能?

答案:✅ 已完成!通过自定义 Application 类和 ActivityLifecycleCallbacks,实现了应用启动时自动调用这些功能,完全无需 JS 调用。


📚 文档导航

根据你的需求,选择相应的文档:

🚀 我想快速开始

👉 阅读顺序

  1. 快速开始.md ⭐⭐⭐⭐⭐
    • 5 分钟了解如何测试
    • 15 分钟完成完整部署
    • 包含常用命令和验证清单

📖 我想了解集成方案

👉 阅读顺序

  1. 集成完成总结.md ⭐⭐⭐⭐⭐

    • 了解改动了哪些文件
    • 理解核心实现原理
    • 查看执行流程图
  2. README_KIOSK_INTEGRATION.md ⭐⭐⭐⭐

    • 完整的集成方案说明
    • 功能对比表
    • 最佳实践建议

🔧 我要部署到生产环境

👉 阅读顺序

  1. KIOSK_SETUP_GUIDE.md ⭐⭐⭐⭐⭐
    • 详细的部署步骤
    • Device Owner 设置方法
    • 故障排查指南
    • 安全建议

🧪 我想快速测试(无需 Device Owner)

👉 阅读顺序

  1. QUICK_TEST_GUIDE.md ⭐⭐⭐⭐
    • 无需 Device Owner 的测试方法
    • 验证自动初始化是否成功
    • 调试技巧
    • 成功标志

📁 我想了解项目结构

👉 阅读顺序

  1. PROJECT_STRUCTURE.md ⭐⭐⭐
    • 完整的项目目录结构
    • 各模块功能说明
    • 模块依赖关系
    • 关键代码位置

🎯 核心问题快速解答

Q1: 如何实现"无需 JS 调用"?

A: 通过自定义 MyApplication 类(继承 DCloudApplication),在 onCreate() 中注册 ActivityLifecycleCallbacks,当主 Activity 创建时自动调用 Kiosk 相关功能。

核心代码位置app/src/main/java/com/YuyeTech/HeartRate/MyApplication.java

Q2: 修改了哪些文件?

A:

  • 新增 3 个文件

    • MyApplication.java - 自定义 Application
    • KioskHelper.java - 锁屏控制工具
    • device_admin.xml - Device Admin 配置
  • ✏️ 修改 1 个文件

    • AndroidManifest.xml - Application、权限、Receiver

详细说明:参考 集成完成总结.md

Q3: 如何验证功能是否生效?

A: 编译安装后,查看日志:

adb logcat | grep -E "MyApplication|KioskHelper|KioskManager"

期望看到:

D MyApplication: ✅ 绑定 Kiosk 到: PandoraEntry
D KioskHelper: ✅ 屏幕保持常亮

详细说明:参考 QUICK_TEST_GUIDE.md

Q4: Device Owner 是必须的吗?

A:

  • 不是必须:应用可以正常运行,部分功能可用(屏幕常亮、全屏)
  • 完整功能需要:禁用锁屏、LockTask 模式必须是 Device Owner

详细说明:参考 KIOSK_SETUP_GUIDE.md

Q5: 如何退出 Kiosk 模式?

A:

  • 用户退出:5 指长按 5 秒 → 输入密码 9527
  • 开发者退出adb shell am task lock stop
  • 应急退出adb shell am force-stop com.YuyeTech.HeartRate

详细说明:参考 快速开始.md

Q6: WiFi 模块需要自动调用吗?

A: ❌ 不需要。WiFi 模块(myWIFIView)是交互式功能,需要用户选择 WiFi 和输入密码,所以仍需通过 JS 调用 showWifiDialogView()

详细说明:参考 PROJECT_STRUCTURE.md → myWIFIView 模块


🔄 执行流程(简化版)

应用启动
    ↓
MyApplication.onCreate()
    ↓
注册 ActivityLifecycleCallbacks
    ↓
PandoraEntry 创建
    ↓
onActivityCreated() 触发
    ↓
自动调用(无需 JS):
  - KioskHelper.disableLockScreen()
  - KioskHelper.keepScreenOn()
  - KioskManager.attach()
    ↓
✅ Kiosk 模式已激活

详细流程图:参考 集成完成总结.md


📋 快速命令参考

编译安装

# Debug 版本
gradlew assembleDebug
adb install app/build/outputs/apk/debug/app-debug.apk

# Release 版本
gradlew assembleRelease
adb install app/build/outputs/apk/release/app-release.apk

查看日志

adb logcat | grep -E "MyApplication|KioskHelper|KioskManager"

Device Owner 设置

# 设置
adb shell dpm set-device-owner com.YuyeTech.HeartRate/com.ble.mylockview.admin.KioskDeviceAdminReceiver

# 验证
adb shell dumpsys device_policy | grep "Device Owner"

应用控制

# 启动
adb shell am start -n com.YuyeTech.HeartRate/io.dcloud.PandoraEntry

# 停止
adb shell am force-stop com.YuyeTech.HeartRate

# 退出 LockTask
adb shell am task lock stop

更多命令:参考 快速开始.md


📊 文档对比表

文档 页数 适用场景 推荐指数
快速开始.md 第一次使用 ⭐⭐⭐⭐⭐
集成完成总结.md 理解实现原理 ⭐⭐⭐⭐⭐
README_KIOSK_INTEGRATION.md 了解整体方案 ⭐⭐⭐⭐
KIOSK_SETUP_GUIDE.md 超长 生产环境部署 ⭐⭐⭐⭐⭐
QUICK_TEST_GUIDE.md 开发环境测试 ⭐⭐⭐⭐
PROJECT_STRUCTURE.md 理解代码结构 ⭐⭐⭐
README_集成说明索引.md 文档导航 ⭐⭐⭐⭐⭐

🎯 推荐阅读路径

路径 1:快速上手(推荐 ⭐⭐⭐⭐⭐)

  1. 阅读 快速开始.md (5 分钟)
  2. 执行"选项 1:快速测试" (5 分钟)
  3. 查看日志验证功能 (2 分钟)
  4. ✅ 完成基础验证

路径 2:深入理解

  1. 阅读 集成完成总结.md (10 分钟)
  2. 阅读 README_KIOSK_INTEGRATION.md (15 分钟)
  3. 查看核心代码文件 (10 分钟)
  4. ✅ 理解实现原理

路径 3:生产部署

  1. 阅读 KIOSK_SETUP_GUIDE.md (20 分钟)
  2. 准备测试设备(恢复出厂设置)
  3. 执行完整部署流程 (15 分钟)
  4. 验证所有功能 (10 分钟)
  5. ✅ 完成生产部署

路径 4:开发调试

  1. 阅读 QUICK_TEST_GUIDE.md (10 分钟)
  2. 执行快速测试流程 (5 分钟)
  3. 参考调试技巧 (按需)
  4. ✅ 开发环境配置完成

🔑 关键文件位置

核心代码

app/src/main/java/com/YuyeTech/HeartRate/
├── MyApplication.java          # 自动初始化入口
└── KioskHelper.java            # 锁屏控制工具

配置文件

app/src/main/
├── AndroidManifest.xml         # Application、权限、Receiver
└── res/xml/
    └── device_admin.xml        # Device Admin 策略

依赖模块

myLockView/src/main/java/com/ble/mylockview/
└── admin/
    ├── KioskManager.java                  # Kiosk 核心管理器
    └── KioskDeviceAdminReceiver.java      # Device Admin 接收器

💡 重要提示

⚠️ 生产环境注意事项

  1. 修改默认密码myLockView/.../KioskManager.java 第 55 行
  2. 关闭 Debug 模式MyApplication.java 第 29 行
  3. 测试逃生门:确保能正常退出
  4. 准备恢复方案:保留 ADB 访问或物理按键

✅ 开发环境建议

  1. 使用 Debug 模式(已默认)
  2. 不设置 Device Owner(方便调试)
  3. 保留 ADB 访问权限
  4. 随时查看日志

📞 遇到问题?

  1. 查看对应文档的"故障排查"章节
  2. 检查日志输出
  3. 参考"常见问题"部分
  4. 确认 Device Owner 状态

🎉 最后

你现在拥有了一个完全自动化的 Kiosk 模式,无需在 JS 中写任何代码!

✅ 实现的功能

  • ✅ 应用启动自动禁用锁屏
  • ✅ 应用启动自动进入 Kiosk 模式
  • ✅ 屏幕自动保持常亮
  • ✅ 全屏沉浸式界面
  • ✅ 拦截系统按键
  • ✅ 五指逃生门机制
  • ✅ 开机自动启动

🚀 立即开始

# 1. 编译
gradlew assembleDebug

# 2. 安装
adb install app/build/outputs/apk/debug/app-debug.apk

# 3. 查看日志
adb logcat | grep -E "MyApplication|KioskHelper"

# 4. 启动应用
adb shell am start -n com.YuyeTech.HeartRate/io.dcloud.PandoraEntry

创建时间:2026-01-22
文档版本:1.0
核心价值:🎯 零 JS 调用,自动进入 Kiosk 模式!

祝你使用愉快! 🎊