uni-app app设置UrlSchemes了在安卓模拟器上启动成功在小米手机澎湃os系统上无法启动app

uni-app app设置UrlSchemes了在安卓模拟器上启动成功在小米手机澎湃os系统上无法启动app

开发环境 版本号 项目创建方式
Mac 26.1 HBuilderX
Android 16
小米

产品分类:uniapp/App

PC开发环境操作系统:Mac

HBuilderX类型:正式

HBuilderX版本号:4.87

手机系统:Android

手机系统版本号:Android 16

手机厂商:小米

手机机型:红米K80

页面类型:vue

vue版本:vue3

打包方式:云端

操作步骤:

预期结果:

实际结果:

bug描述: 在安卓模拟器的浏览器里,H5网页中,通过 UrlSchemes 启动app成功。 但在小米澎湃os系统上,同样的H5网页,同样的app,在小米自带的浏览器中打开H5网页,然后点击打开APP,没有启动app。

不知道为什么,也没有找到相关的文档

image


更多关于uni-app app设置UrlSchemes了在安卓模拟器上启动成功在小米手机澎湃os系统上无法启动app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

该bug反馈内容不完整,难以有效复现和定位问题。主要缺失包括:无具体UrlSchemes配置代码、未说明H5调用方式、无错误日志及详细现象描述(如是否弹出安全警告)、复现步骤/预期/实际结果均为空。分类信息中"手机OS系统版本:Android 16"存在明显错误(当前最新Android为14,澎湃OS基于Android 13),且未区分uni-app与uni-app-x项目类型。
经核查知识库,此问题可能非bug而是配置或系统特性导致:

小米澎湃OS对UrlSchemes有严格安全管控,需在应用设置-安全中手动开启"外部链接跳转"权限
知识库明确提示:“部分手机如小米,在通过adb安装基座时,会在手机端弹出带倒计时的询问框,需及时点同意”(来源),类似机制可能影响UrlSchemes调用
Android 12+系统要求显式声明android:autoVerify="true"以支持深度链接

建议用户:

检查manifest.json中plus->distribute->android->scheme配置完整性
在小米手机设置中搜索"特殊权限"开启"后台弹出界面"和"显示在其他应用上层"
参考H5+ Android调试指南确认真机环境配置
更新HBuilderX至最新版(当前4.87非最新),因小米澎湃OS适配需较新版本支持 内容为 AI 生成,仅供参考

更多关于uni-app app设置UrlSchemes了在安卓模拟器上启动成功在小米手机澎湃os系统上无法启动app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


已经云端打包了的。没搞懂,小米那边没看到相关的说明

换三方浏览器测试,如果是小米屏蔽了,去对应社区找如何解决。

根据你的描述,这是典型的Android系统兼容性问题,尤其是在小米澎湃OS这类深度定制的系统上。核心原因在于系统权限和后台策略限制

主要原因分析:

  1. 澎湃OS的后台启动限制:小米/红米手机的新系统(包括MIUI 14/澎湃OS)对应用后台启动有严格限制。默认情况下,系统会阻止未在前台运行的应用通过URL Scheme被唤醒。
  2. 浏览器差异:模拟器浏览器通常没有系统级限制,而小米自带浏览器(或部分第三方浏览器)可能会遵循系统策略,阻止跨应用启动。
  3. 应用状态影响:如果App完全退出(非后台驻留),系统可能直接拦截启动请求。

解决方案(按优先级排序):

1. 检查并设置系统权限(关键步骤)

  • 进入手机「设置」>「应用设置」>「应用管理」> 找到你的App
  • 开启「自启动」权限
  • 在「权限管理」中,允许「后台弹出界面」、「创建桌面快捷方式」等相关权限
  • 部分机型需额外在「电池与性能」设置中,将App的省电策略设为「无限制」

2. 测试不同浏览器

  • 在Chrome、Firefox等第三方浏览器中测试同一H5页面
  • 如果第三方浏览器能正常唤醒,问题则出在小米浏览器对URL Scheme的支持策略上

3. 配置AndroidManifest.xml(云端打包需在manifest.json中配置) 确保在manifest.jsonapp-plusdistributeandroid节点下正确声明intent-filter:

"android": {
  "schemes": ["your_scheme"],
  "intentFilters": {
    "action": "VIEW",
    "data": [
      {
        "scheme": "your_scheme"
      }
    ]
  }
}

4. 使用HBuilderX 3.8.12+的「深链(Deep Link)」配置 新版HBuilderX增强了Deep Link支持,在manifest可视化配置中勾选「支持Deep Link」,并填写关联域名。

5. 测试App不同状态下的唤醒情况

  • App在前台时点击链接
  • App在后台时点击链接
  • App完全退出后点击链接 这有助于判断是后台限制还是完全拦截的问题。

临时验证方法:

在H5页面尝试使用window.location.href = 'your_scheme://path'方式跳转,并在后面添加一个备用URL防止卡死:

setTimeout(function() {
  window.location.href = 'https://your-fallback-url.com';
}, 2000);
回到顶部