平板的文件选择器无法调用出页面?HarmonyOS 鸿蒙Next

平板的文件选择器无法调用出页面?HarmonyOS 鸿蒙Next 同样的代码,为什么在13.2的平板上就无法调取文件选择器页面呢,手机可以。调用函数后,返回日志的uris是空的,但是没出现文件选择器页面。

cke_190.png


更多关于平板的文件选择器无法调用出页面?HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

你平板的系统版本是多少?我这边写了个documentPicker.select()的相关demo,无法复现你说的问题,你可以拿我代码试一试

import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { picker } from '@kit.CoreFileKit';

@Entry
@Component
struct Index {
  private context = this as common.UIAbilityContext;

  build() {
    Column() {
      Button('测试').onClick(() => {
        example(this.context)
      })
        .position({ x: 80, y: 100 })
        .height(100)
        .width(100)
    }.height('100%')
    .width('100%')
  }
}

export async function example(context: common.Context) { // 需确保 context 由 UIAbilityContext 转换而来
  try {
    let documentSelectOptions = new picker.DocumentSelectOptions();
    let documentPicker = new picker.DocumentViewPicker(context);
    documentSelectOptions.fileSuffixFilters = ['m4a', 'mp3', 'pdf'];
    documentSelectOptions.maxSelectNumber = 1
    documentPicker.select(documentSelectOptions).then((documentSelectResult: Array<string>) => {
      console.info('DocumentViewPicker.select successfully, documentSelectResult uri: ' +
      JSON.stringify(documentSelectResult));
    }).catch((err: BusinessError) => {
      console.error('DocumentViewPicker.select failed with err: ' + JSON.stringify(err));
    });
  } catch (error) {
    let err: BusinessError = error as BusinessError;
    console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
  }
}

更多关于平板的文件选择器无法调用出页面?HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,平板文件选择器无法调用出页面的问题可能与系统权限、应用兼容性或系统缓存有关。首先,检查应用的存储权限是否已开启,确保应用有权访问文件系统。其次,确认应用是否为鸿蒙Next优化版本,未适配的应用可能无法正常调用系统组件。最后,尝试清除系统缓存或重启设备,以排除缓存问题导致的功能异常。

回到顶部