忆往昔
忆往昔
  • 发布:2025-05-13 15:28
  • 更新:2025-05-13 16:28
  • 阅读:56

【报Bug】在鸿蒙next中写检测是否安装高德地图的uts插件时遇到错误

分类:鸿蒙Next

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版 23H2

HBuilderX类型: 正式

HBuilderX版本号: 4.64

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS NEXT Developer Beta2

手机厂商: 华为

手机机型: nova 13

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

export async function isGaodeMapInstalled(): Promise<boolean> {
let exist: boolean = false;
try {
let link: string = 'amapuri://com.amap.hmapp/open';
let data: boolean = bundleManager.canOpenLink(link);
console.log(0x0000, 'testTag', 'canOpenLink successfully: %{public}s', JSON.stringify(data));
exist = data;
} catch (err) {
let message = (err as BusinessError).message;
console.log(0x0000, 'testTag', 'canOpenLink failed: %{public}s', message);
exist = false;
}
return exist;
}

操作步骤:

制作uts插件时,调用isGaodeMapInstalled这个函数

预期结果:

安装了高德地图就返回true,反之返回false

实际结果:

报错[number] 0 testTag canOpenLink failed: %{public}s BusinessError 17700056: The scheme of the specified link is not in the querySchemes.

bug描述:

问题:bundleManager.canOpenLink(link),高德官方提供的此写法,本人在原生中也可以实现,但是在uniapp中制作插件时遇到了错误。
报错信息:
[number] 0 testTag canOpenLink failed: %{public}s BusinessError 17700056: The scheme of the specified link is not in the querySchemes.

此报错指出未在module.json5中添加"querySchemes": ["amapuri"],但是我已经加了。

2025-05-13 15:28 负责人:DCloud_UNI_OttoJi 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

  • 忆往昔 (作者)

    感谢大佬,问题已解决。

    2025-05-13 16:36

  • 忆往昔 (作者)

    需要在项目下的harmony-configs/entry/src/main/module.json5文件里加上"querySchemes": ["amapuri"],清除缓存重新运行

    2025-05-13 16:38

要回复问题请先登录注册