HarmonyOS 鸿蒙Next中如何存储文件到外部存储卡

HarmonyOS 鸿蒙Next中如何存储文件到外部存储卡

获取UUID生成文件存储在用户手机上,下次用户卸载应用再重新安装 也能检测到已绑定的设备,

这个文件如何存储在指定路径

2 回复

在HarmonyOS Next中存储文件到外部存储卡,使用@ohos.file.fs API。首先通过getStorageAccess().request申请外部存储权限。然后使用fs.openfs.createStream创建文件流,指定路径为/mnt/external_storage/目录下的子路径。写入完成后调用close释放资源。注意:应用需在module.json5中声明ohos.permission.READ_MEDIAohos.permission.WRITE_MEDIA权限。

更多关于HarmonyOS 鸿蒙Next中如何存储文件到外部存储卡的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,可以使用以下方式将文件存储到外部存储卡并实现设备绑定持久化:

  1. 获取外部存储权限: 首先需要在config.json中声明存储权限:
"reqPermissions": [
  {
    "name": "ohos.permission.WRITE_USER_STORAGE"
  }
]
  1. 使用UUID生成设备标识:
import { systemuuid } from '@ohos.system.uuid';
let uuid = systemuuid.getRandomUUID();
  1. 存储到外部存储卡指定路径:
import fs from '@ohos.file.fs';
import common from '@ohos.app.ability.common';

// 获取外部存储路径
let context = getContext(this) as common.UIAbilityContext;
let path = context.filesDir + "/external/"; // 外部存储路径

// 创建目录(如果不存在)
fs.mkdirSync(path);

// 写入UUID文件
let filePath = path + "device_uuid.txt";
fs.writeTextSync(filePath, uuid);
  1. 读取已存储的UUID:
try {
  let storedUUID = fs.readTextSync(filePath);
  // 比较当前UUID和存储的UUID
} catch (e) {
  // 文件不存在时的处理
}

注意事项:

  1. 外部存储路径会因设备而异,建议使用官方API获取
  2. 用户卸载应用后,存储在外部存储卡的数据通常会被保留
  3. 对于敏感数据,建议加密存储

这种方式即使用户卸载后重新安装应用,只要不手动清除存储卡数据,就能保持设备标识一致。

回到顶部