固定屏幕安装APK修复说明.md 2.3 KB

固定屏幕下无法安装 APK 问题 - 修复说明

问题

在 bBeng-HeartRate-4.66-pad 工程固定屏幕(Kiosk 模式)下,无法拉起 APK 安装页面。

原因

  • 应用启用了 LockTask Mode(锁定任务模式)
  • 系统安装器不在 setLockTaskPackages() 白名单中
  • 跳转安装界面被系统拦截

解决方案

在安装前临时退出 Kiosk,安装后自动恢复 Kiosk

修改文件

1. KioskManager.java(新增方法)

bBeng-HeartRate-4.66-pad/myLockView/src/main/java/com/ble/mylockview/admin/KioskManager.java

新增:

  • temporaryExitKiosk() - 临时退出(不修改 kioskEnabled)
  • resumeKiosk() - 恢复 Kiosk 模式

2. KioskModule.java(新建文件)

bBeng-HeartRate-4.66-pad/uniplugin_module/src/main/java/io/dcloud/uniplugin/KioskModule.java

创建 uni-app 原生插件,暴露 Kiosk 控制方法给 Vue 层。

3. dcloud_uniplugins.json(注册插件)

bBeng-HeartRate-4.66-pad/app/src/main/assets/dcloud_uniplugins.json

添加 KioskModule 插件配置。

4. build.gradle(添加依赖)

bBeng-HeartRate-4.66-pad/uniplugin_module/build.gradle

添加 implementation project(path: ':myLockView')

5. app-info.vue(修改安装逻辑)

heart-app-hbuilder-x/pages/platform-page/app-info/app-info.vue

新增方法:

  • temporaryExitKioskAndInstall() - 退出 Kiosk 并安装
  • installApk() - 执行安装
  • resumeKiosk() - 恢复 Kiosk

使用流程

点击更新/安装
    ↓
临时退出 Kiosk(300ms)
    ↓
拉起安装界面 ✅
    ↓
安装完成/失败
    ↓
延迟 1 秒恢复 Kiosk

编译部署

# 1. 编译 Android 项目
cd bBeng-HeartRate-4.66-pad
./gradlew assembleRelease

# 2. 安装测试
adb install -r app/build/outputs/apk/release/app-release.apk

测试要点

  1. ✅ 固定屏幕下点击"更新此版本"能拉起安装界面
  2. ✅ 点击"安装已下载的文件"能拉起安装界面
  3. ✅ 取消安装后自动恢复固定屏幕
  4. ✅ 安装失败后自动恢复固定屏幕

查看日志

adb logcat -s KioskManager KioskModule

关键日志:

  • ⏸️ 临时退出 Kiosk(用于 APK 安装)
  • ▶️ 恢复 Kiosk

修复时间: 2026-01-26
状态: 已修复,待测试