帅得被人砍
帅得被人砍
  • 发布:2026-10-27 18:15
  • 更新:2026-10-27 18:30
  • 阅读:59

【报Bug】三星手机设备上通过调用uni.chooseLocation选取地址的API,打开页面数据一直加载,且地图无法加载!

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.7.6 (21H1320)

HBuilderX类型: 正式

HBuilderX版本号: 5.33

手机系统: Android

手机系统版本号: Android 16

手机厂商: 三星

手机机型: S23 UItra

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.chooseLocation({
useSecureNetwork: true,
success(res) {
if (res.errMsg === 'chooseLocation:ok') {
formData.value.detailAddress = res.name
} else {
uni.showToast({ title: res.errMsg, icon: 'none' })
}
}
})

操作步骤:

点击选取地址,直接空白,且搜索地点一直在加载中

预期结果:

希望可以跟其它Android设备苹果设备一样,可以正常选取地址

实际结果:

点击选取地址,直接空白,且搜索地点一直在加载中

bug描述:

三星手机:
在三星手机设备上通过调用uni.chooseLocation选取地址的API,打开页面数据一直加载,且地图无法加载!
当app切换至后台,重新返回app内,此时选取地址的页面加载就好了!

在其它安卓手机及苹果手机设备上调用uni.chooseLocation选取地址的API是正常的!

2026-10-27 18:15 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

您好,感谢您的反馈。以下以官方视角对本条 bug 反馈进行评审:

一、反馈内容完整性评审

已包含的要素:BUG 标题、问题描述、代码示例、复现步骤、预期结果、实际结果、分类信息(PC 环境、HBuilderX 版本、手机系统/厂商/机型、Vue 版本)均齐全。其中“三星 S23 Ultra + Android 16”的设备信息,以及“切后台再返回后恢复正常”这一细节描述得比较清楚,对排查有参考价值。

需要补充或完善的内容:

  1. 复现步骤过于简单,仅凭“点击选取地址,直接空白”官方难以直接复现。请补充以下关键环境信息(以文字形式描述即可,我无法识别附件):
    • 运行/打包方式:标准基座真机运行是否复现?自定义基座?云端正式包还是离线打包?
    • manifest.json 中 App 模块的地图/定位配置:使用的是高德还是腾讯地图?key 申请时的包名、sha1/证书信息与打包配置是否一致?
    • 您的代码中使用了 useSecureNetwork: true,请确认是否已完成配套配置:项目关联 uniCloud 服务空间、导入并部署 uni-map-co/uni-map-common 并配置好地图 key、manifest 中勾选安全网络模块等(见下文)。
    • 地图空白区域是白色还是蓝色、页面类型(vue/nvue)、复现时的完整控制台日志。
  2. 代码示例本身可以直接运行,但 uni.chooseLocation 的行为与 manifest 地图 SDK 配置、uniCloud 安全网络配置强相关,仅凭这段调用代码无法复现完整环境;建议补充 fail/complete 回调打印错误信息,便于捕获失败原因。
  3. 预期结果合理(与其他 Android 设备、iOS 表现一致)。
  4. 实际结果与标题描述一致,属于真实的兼容性问题反馈,不属于误报。
  5. 分类信息基本完整,但缺少打包方式和地图服务商配置这两项关键内容。

二、bug 是否成立的分析

  1. 支持性前提:uni.chooseLocation 在 Android App 端是官方支持的能力;且 HBuilderX 4.84 版本已适配 Android 16 系统(详见 Android 更新日志),您使用的 5.33 正式版已包含该适配,因此不属于“版本未适配 Android 16”的问题,bug 有成立的可能性,但按现有信息还无法定位根因。

  2. 从知识库看,当前现象有几个高概率排查方向:

    • useSecureNetwork: true 的配置链路:官方文档明确,默认情况下 uni.chooseLocation 不会使用安全网络请求 uni-map-co;若要使用 useSecureNetwork: true,必须完成一整套配置(关联 uniCloud 服务空间 → 导入 uni-map-common 并配置地图 key → 应用关联服务空间 → manifest 安卓/iOS 模块配置勾选安全网络模块 → uni-map-co 入口文件添加拦截代码 → 上传 uni-map-co、uni-config-center、uni-map-common),任一环节缺失都可能导致地点搜索异常,详见 chooseLocation 文档。另外,此前有开发者反馈使用 useSecureNetwork: true 时报 "Encryption block is invalid" 的问题,官方已在 HBuilderX 5.0.2 修复,您的 5.33 已包含该修复,但建议贴出完整日志确认是否仍有安全网络相关报错。
    • 地图 key 配置不一致:知识库中明确记载,此类“chooseLocation 列表不出来”的问题一般为高德地图后台配置的包名、sha 等信息与 HBuilderX 打包配置的内容不一致,请检查相关配置是否一致。文档也说明 App 端打包后定位需开发者自行申请 key,注意包名、appkey、证书信息必须匹配,真机运行基座使用的是 DCloud 申请的 sdk 配置(详见 getLocation 文档)。ask 社区类似“chooseLocation 无法搜索地址”的问题,官方回复也是“可能是配置 key 的问题”(DCloud问答_214091)。
    • 三星设备的历史类似案例:ask 社区曾有三星 S20 Ultra 上 chooseLocation 调起地图空白、附近地址正常的反馈(DCloud问答_132448),以及安卓端地点列表一直加载、重启应用后恢复的案例(DCloud问答_183016)。说明“列表一直加载/地图空白”在部分设备上出现过,但均未形成官方定论,仅作现象参考。
    • ISSUE 系统中也有类似反馈:腾讯云 + 使用腾讯地图 uni.chooseLocation 出现问题(地图空白、无法搜索),目前状态为“待确认”,仅能作为线索参考,不能作为结论依据(ISSUE 系统:https://issues.dcloud.net.cn/pages/issues/detail?id=15075 )。
  3. 关于“切后台再返回后恢复正常”这一现象,知识库中暂未找到官方说明,无法据此判断根因,建议补充信息时一并附上复现日志。

  4. 参考信息:文档提到由于设备厂商适配原因,部分 Android 设备上定位服务可能不稳定,如需提升定位稳定性建议使用高德定位或腾讯定位模块(详见 App 定位文档);该说明针对的是系统定位方式的厂商支持情况,与您当前问题的关联需结合您的 manifest 配置进一步确认。

三、排查建议(按优先级)

  1. 先在标准基座真机运行对比验证:若标准基座正常、自定义基座/正式包异常,重点核对高德/腾讯 key 的包名、sha1、证书与打包配置的一致性。
  2. 对比测试:将 useSecureNetwork: true 去掉(或改为 false)后观察搜索是否恢复;若恢复正常,则按 chooseLocation 文档 逐步补齐 uniCloud 安全网络配置链路。
  3. 在调用中补充 fail/complete 回调并打印完整错误信息,同时抓取复现时的完整日志。
  4. 补充上述缺失的配置信息后在本帖更新反馈,便于官方复现与定位。

总体评审结论:反馈结构完整、现象真实、预期合理,具备受理价值;但复现步骤和关键配置信息不足,暂时无法定位根因,请按上述内容补充后继续跟进。

内容为 AI 生成,仅供参考
帅得被人砍

帅得被人砍 (作者)

官方有没有人出来解答下啊

要回复问题请先登录或注册