HarmonyOS 鸿蒙Next 打开 高德地图APP提示错误码16000050和16000001的解决方案

发布于 1周前 作者 nodeper 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 调研打开手机内的高德地图APP测试记录,以及错误码16000050和16000001的解决方案

【完整代码】

import { BusinessError } from ‘@ohos.base’;
import { common, Want } from ‘@kit.AbilityKit’;

@Entry @Component struct Page43 { build() { Column() { Button(‘跳转到高德地图’).onClick(() => { let want: Want = { bundleName: ‘com.amap.hmapp’, abilityName: ‘EntryAbility’ }; (getContext(this) as common.UIAbilityContext).startAbility(want).then(() => { console.info(‘Start settings ability successfully.’); }).catch((err: BusinessError) => { console.error(Failed to startAbility. Code: ${err.code}, message: ${err.message}); }); }) } .width(‘100%’) .height(‘100%’) } }

【起因】

我在mate 60 pro(鸿蒙next版)手机中安装了鸿蒙版高德地图APP,想在自己的工程通过点击按钮打开高德。

 

【经过】

于是利用SDK目录下的hdc命令hdc shell bm dump -a,获取手机应用列表包名。找到了com.amap.hmapp

cke_11584.png

然后根据want文档配置高德的bundleName尝试启动高德地图

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/uiability-intra-device-interaction-0000001820999601#ZH-CN_TOPIC_0000001857875889__%E5%90%AF%E5%8A%A8%E5%BA%94%E7%94%A8%E5%86%85%E7%9A%84uiability

let want: Want = {
bundleName: ‘com.amap.hmapp’,
};

【结果】显示“暂无支持此类文件的应用”

cke_34922.png

同时报错:Failed to startAbility. Code: 16000050, message: Internal error.

原来是因为 bundleName和 abilityName都是必填项。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/explicit-implicit-want-mappings-0000001774119986

cke_55731.png

修改后运行,点击没反应

let want: Want = {
bundleName: ‘com.amap.hmapp’,
abilityName: ‘test’
};

查看日志,又报错了

Failed to startAbility. Code: 16000001, message: The specified ability does not exist.

找不到abilityName,于是猜测高德的默认名称可能和新建项目时给的EntryAbility一样,没改过。

cke_119355.png

再次尝试,跳转成功!

cke_136500.png

3 回复
但是为什么下载的微博,小红书这些app,用hdc命令查不到包名,高德地图确实能查到

我能查到,因为按字母排序的,所以在最后面。 【小红书】com.xingin.xhs_hos 【微博】com.sina.weibo.stage

作为IT专家,针对HarmonyOS 鸿蒙Next API 11学习中遇到的高德地图APP打开问题以及错误码16000050和16000001的解决方案,提供以下专业解答:

错误码16000050通常是由于在尝试启动应用时未正确填写必要的参数。在启动高德地图时,需要确保bundleNameabilityName都是正确的。bundleNamecom.amap.hmapp,而abilityName需要是高德地图的默认启动Ability名称,通常是EntryAbility

错误码16000001则表明指定的Ability不存在。这通常发生在abilityName填写错误或者该Ability在目标应用中不存在时。检查abilityName是否与目标应用中的Ability名称一致,确保没有拼写错误或大小写错误。

在解决这两个错误时,可以采取以下步骤:

  1. 确认bundleNameabilityName是否正确。
  2. 查看目标应用(高德地图)的文档或源码,确认默认的Ability名称。
  3. 编写代码时,确保传递给startAbility方法的参数正确无误。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。他们将能提供更具体的帮助和解决方案。

回到顶部