HarmonyOS 鸿蒙Next 求助:startAbility报错16000050,无法分享文件

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 求助:startAbility报错16000050,无法分享文件

需求:下载文件之后需要调用系统应用打开,所以用到了startAbility方法,代码如下:

context:UIAbilityContext = getContext(this) as common.UIAbilityContext
const filePath = "/data/storage/el2/base/cache/web/internet邮箱.doc";
let wantInfo: Want = {
  //action: 'ohos.want.action.sendData',
  action:"ohos.want.action.viewData",
  uri: fileUri.getUriFromPath(filePath),
  type: "application/msword", // 表示待打开文件的类型
  flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION | wantConstant.Flags.FLAG_AUTH_WRITE_URI_PERMISSION, // 表示对URI执行写入操作的授权
}
this.context.startAbility(wantInfo)
  .then(() => {
    console.info('Invoke getCurrentBundleStats succeeded.');
  })
  .catch((err: BusinessError) => {
    console.error(`Invoke startAbility failed, code is ${err.code}, message is ${err.message}`);
  });

注:文件确认是存在的

到底什么原因?


更多关于HarmonyOS 鸿蒙Next 求助:startAbility报错16000050,无法分享文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

谢谢回复。

模拟器是不是用不了这个分享功能?

我只是想用系统应用打开我指定的一个文件(就好像在PC上,点一个WORD文件,就会自动启动Word来打开一样),是否就是要用分享功能,还是说用其他什么功能?

更多关于HarmonyOS 鸿蒙Next 求助:startAbility报错16000050,无法分享文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


模拟器用不了的,需要使用分享功能,

  1. 当前使用模拟器还是真机进行的测试,应用选择框是应用市场里面的,没应用市场就会弹不出隐式启动的选择框所以报错

  2. 应用文件分享需要使用注释的部分action:ohos.want.action.sendData

  3. 需要在module.json5里配置actions

  4. 16000050是当内存申请、多线程处理异常等内部处理错误时,方法将返回该错误码。

    可能原因:

    内存申请、多线程处理等内核通用错误。具体原因可能包括:内部对象为空、处理超时、包管理获取应用信息失败、系统服务获取失败、启动的ability实例已达到上限等等。

    处理步骤:

    1. 确认系统内存是否足够,设备使用的系统版本是否存在异常。

    2. 检查是否启动了过多的ability。

    3. 尝试重启设备。

  5. 官网文件分享demo,可以根据demo进行检查:https://gitee.com/harmonyos_samples/share-kit_-sample-code_-clientdemo_-arkts

针对HarmonyOS鸿蒙Next系统中startAbility报错16000050,无法分享文件的问题,这通常表明在尝试启动一个Ability时遇到了权限或配置错误。以下是一些可能的原因及解决方法,专注于鸿蒙系统本身,不涉及Java或C语言:

  1. 权限检查:确保你的应用已正确声明了所需的权限,特别是与文件分享相关的权限,如读写存储权限。在config.json中检查并添加必要的权限声明。

  2. Ability配置:检查config.json中Ability的配置,确保目标Ability已正确注册,并且其intent-filter能够匹配启动时的Intent。特别是检查actioncategorydata等字段是否与启动Intent一致。

  3. Intent构造:检查启动Ability时构造的Intent是否正确。确保Intent的actiontypedata(URI)等属性与目标Ability的配置相匹配。

  4. 文件URI有效性:如果错误与文件分享相关,验证提供的文件URI是否有效,以及应用是否有权访问该URI指向的文件。

  5. 系统日志:查看系统日志以获取更多错误信息,这有助于精确定位问题。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部