HarmonyOS鸿蒙Next中使用document类下的document.choose()选择文件闪退

HarmonyOS鸿蒙Next中使用document类下的document.choose()选择文件闪退 开发IDE版本:3.0.0.800, API版本: v7 开发方式: JS

代码如下:

import document from '@ohos.document'
selectImage: async function(){
    await document.choose("*").then(function(url){
        this.data.originImageUrl=url;
    });
}

问题更新:
在模拟器中无法使用该api
在本地和远程的真机中均可使用此api,但是当选择文件后,app闪退.
日志为:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=content://media/external/images/media/97 typ=image/jpeg flg=0x3 (has extras) }} to activity {[包名]/[包名].MainAbilityShellActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference

更多关于HarmonyOS鸿蒙Next中使用document类下的document.choose()选择文件闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

楼主你好,这个问题已经反馈给相关人员,感谢您的反馈,可以使用接口媒体数据管理模块的getFileAssets方法替换:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-medialibrary-0000001168747257#section664915501377

更多关于HarmonyOS鸿蒙Next中使用document类下的document.choose()选择文件闪退的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


请问楼主解决了吗

没有,后面就没有操作了 等官方把,

接口是什么接口 ,

文件操作类

  • 名称: 文件操作类
  • 描述: 这是一个用于处理文件读写操作的类。
  • 创建时间: 2023-09-15
  • 最后修改时间: 2023-09-16

方法

read_file

  • 说明: 读取文件内容
  • 参数:
    • file_path: 文件路径

write_file

  • 说明: 写入内容到文件
  • 参数:
    • file_path: 文件路径
    • content: 要写入的内容

欢迎开发小伙伴们进来帮帮楼主

在HarmonyOS鸿蒙Next中,使用document.choose()方法选择文件时出现闪退,可能是由于以下原因:

  1. 权限问题:应用可能未正确获取文件访问权限。确保在应用的config.json文件中声明了ohos.permission.READ_USER_STORAGEohos.permission.WRITE_USER_STORAGE权限。

  2. API调用错误:document.choose()方法的参数配置可能不正确。检查调用该方法时传入的参数是否符合API文档的要求,特别是typeaction参数。

  3. 系统兼容性问题:鸿蒙Next版本可能存在与document.choose()方法相关的兼容性问题。确保使用的鸿蒙系统版本与API文档中描述的最低版本要求一致。

  4. 应用配置问题:应用的配置文件可能存在错误或不完整。检查config.json文件中的abilitiesreqPermissions配置项,确保与应用的功能需求一致。

  5. 设备存储状态:设备存储空间不足或存储状态异常可能导致文件选择操作失败。确保设备有足够的存储空间,并且存储设备状态正常。

  6. 日志分析:通过查看设备日志(如使用hdc工具连接设备并查看日志)可以获取更详细的错误信息,帮助定位问题。

如果问题仍然存在,建议参考鸿蒙官方文档或社区论坛,查看是否有类似问题的解决方案。

在HarmonyOS鸿蒙Next中使用document.choose()选择文件时出现闪退,可能是由于以下原因:

  1. 权限问题:确保应用已获取必要的文件访问权限。在config.json中声明ohos.permission.READ_MEDIAohos.permission.WRITE_MEDIA权限。

  2. API兼容性:检查document.choose()是否在当前版本中受支持,或是否存在已知问题。

  3. 参数错误:确保调用document.choose()时传递的参数正确,如typeaction

  4. 系统资源不足:设备内存或存储空间不足可能导致闪退,建议清理设备资源。

  5. 日志分析:通过HiLog查看详细日志,定位具体错误。

建议更新SDK到最新版本,并参考官方文档进行调试。

回到顶部