openharmony_ci 5438caec93 !104 change api 19 to 20
Merge pull request !104 from hlzhangaj/master
2025-05-13 17:35:26 +00:00
2023-09-27 18:14:58 +08:00
2024-07-01 14:14:06 +08:00
2022-05-06 19:53:22 +08:00
2025-01-04 11:40:02 +08:00
2022-04-24 14:18:24 +08:00
2023-11-28 11:57:09 +08:00
2024-07-04 10:42:22 +08:00
2023-09-27 18:14:58 +08:00
2025-05-13 02:44:55 +00:00
2022-04-24 15:32:12 +08:00
2023-09-27 18:14:58 +08:00
2023-09-27 18:14:58 +08:00
2022-04-24 14:21:56 +08:00
2024-06-14 13:48:49 +08:00
2023-09-27 18:14:58 +08:00
2022-06-22 10:06:43 +08:00
2022-04-24 14:18:24 +08:00

FilePicker

简介

FilePicker应用是OpenHarmony中预置的系统应用,为用户提供文件选择及保存功能

架构图

目录

/applications/standard/filepicker
├── figures                     # 架构图目录
├── product                     # 产品层模块目录
│   └── pad                     # pad模式模块目录
|       └── src
|           ├── main
|               ├── ets
│                   ├── MainAbility              # MainAbility代码目录
|                       ├── module               # 公共文件目录
|                       ├── pages                # 业务特性的View层目录
|                       ├── workers              # worker对于的js文件目录
│                   └── AbilityStage.ts
|               ├── resources   # 资源目录
|               └── config.json # 项目配置信息
│   └── phone                   # phone模式模块目录
|       └── src
|           ├── main
|               ├── ets
│                   ├── MainAbility              # MainAbility代码目录
|                       ├── module               # 公共文件目录
|                       ├── pages                # 业务特性的View层目录
|                       ├── workers              # worker对于的js文件目录
│                   └── AbilityStage.ts
|               ├── resources   # 资源目录
|               └── config.json # 项目配置信息
├── signature                   # 证书文件目录
├── LICENSE                     # 许可文件

签名

  1. 针对product下的每一个模块,配置build.gradle中的signingConfig。
  2. 将signature目录下的sign_files.rar解压后放在build.gradle目录中配置的相应路径即可完成默认签名配置。
  3. 把signature目录下的sig_hap.rar解压到任意目录。

编译运行

  1. 签名配置完成后通过IDE Build -> Make All Modules即可编译出每个模块对应的hap包。
  2. 将编译生成的签名后的hap包 如phone模块的phone-entry-debug-standard-ark-signed.hap放到sig_hap.rar解压的目录。
  3. 修改sign-filepicker-phone.bat中的-inputFile、-outputFile并运行sign-filepicker-phone.bat即可生成可安装的hap包。

使用方法

通过startAbilityForResult拉起FilePicker并获取FilePicker返回的数据,示例代码如下

// 拉起FilePicker选择文件
globalThis.context.startAbilityForResult(
    {
        bundleName: "com.ohos.filepicker",
        abilityName: "com.ohos.filepicker.MainAbility",
        parameters: {
            'startMode': 'choose', //choose or save    
        }
    },
    { windowMode: 102 }
)

// 拉起FilePicker保存文件
globalThis.context.startAbilityForResult(
    {
        bundleName: "com.ohos.filepicker",
        abilityName: "com.ohos.filepicker.MainAbility",
        parameters: {
            'startMode': 'save', //choose or save
            'saveFile': 'test.jpg',
        }
    },
    { windowMode: 102 }
)

// file picker返回给startAbilityForResult的数据
var abilityResult = {
    resultCode: resultCode,
    want: {
        parameters: {
            'startMode': startMode,
            'result': result
        }
    }
}
globalThis.context.terminateSelfWithResult(abilityResult)

相关仓

系统应用

applications_filepicker

S
Description
filepickers system app | 文件选择器;其他应用可通过拉起文件选择器获取公共文件
Readme Apache-2.0 25 MiB
Languages
TypeScript 96.7%
Batchfile 1.3%
Shell 1.2%
JavaScript 0.8%