问题:在 UniApp 的离线 Android 工程里导入了 myLockView 和 myWIFIView,如何不通过 JS 来调用 disableLockScreen() 等功能?
答案:✅ 已完成!通过自定义 Application 类和 ActivityLifecycleCallbacks,实现了应用启动时自动调用这些功能,完全无需 JS 调用。
根据你的需求,选择相应的文档:
👉 阅读顺序:
👉 阅读顺序:
集成完成总结.md ⭐⭐⭐⭐⭐
README_KIOSK_INTEGRATION.md ⭐⭐⭐⭐
👉 阅读顺序:
👉 阅读顺序:
👉 阅读顺序:
A: 通过自定义 MyApplication 类(继承 DCloudApplication),在 onCreate() 中注册 ActivityLifecycleCallbacks,当主 Activity 创建时自动调用 Kiosk 相关功能。
核心代码位置:app/src/main/java/com/YuyeTech/HeartRate/MyApplication.java
A:
✅ 新增 3 个文件:
MyApplication.java - 自定义 ApplicationKioskHelper.java - 锁屏控制工具device_admin.xml - Device Admin 配置
✏️ 修改 1 个文件:
AndroidManifest.xml - Application、权限、Receiver详细说明:参考 集成完成总结.md
A: 编译安装后,查看日志:
adb logcat | grep -E "MyApplication|KioskHelper|KioskManager"
期望看到:
D MyApplication: ✅ 绑定 Kiosk 到: PandoraEntry
D KioskHelper: ✅ 屏幕保持常亮
详细说明:参考 QUICK_TEST_GUIDE.md
A:
详细说明:参考 KIOSK_SETUP_GUIDE.md
A:
9527adb shell am task lock stopadb shell am force-stop com.YuyeTech.HeartRate详细说明:参考 快速开始.md
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"
# 设置
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 | 短 | 文档导航 | ⭐⭐⭐⭐⭐ |
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 接收器
myLockView/.../KioskManager.java 第 55 行MyApplication.java 第 29 行你现在拥有了一个完全自动化的 Kiosk 模式,无需在 JS 中写任何代码!
# 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 模式!
祝你使用愉快! 🎊