为了给用户展示存储设备信息,开发者可以使用数据存储管理接口获取存储设备视图信息,也可以根据用户提供的文件名获取对应存储设备的视图信息。
数据存储管理为开发者提供下面几种功能,具体的API参考。
功能分类 | 类名 | 接口名 | 描述 |
---|---|---|---|
查询设备视图 | ohos.data.usage.DataUsage | getVolumes() | 获取当前用户可用的设备列表视图。 |
getVolume(File file) | 获取存储该文件的存储设备视图。 | ||
getVolume(Context context, Uri uri) | 获取该URI对应文件所在的存储设备视图。 | ||
getDiskMountedStatus() | 获取默认存储设备的挂载状态。 | ||
getDiskMountedStatus(File path) | 获取存储该文件设备的挂载状态。 | ||
isDiskPluggable() | 默认存储设备是否为可插拔设备。 | ||
isDiskPluggable(File path) | 存储该文件的设备是否为可插拔设备。 | ||
isDiskEmulated() | 默认存储设备是否为虚拟设备。 | ||
isDiskEmulated(File path) | 存储该文件的设备是否为虚拟设备。 | ||
查询设备视图属性 | ohos.data.usage.Volume | isEmulated() | 该设备是否是虚拟存储设备。 |
isPluggable() | 该设备是否支持插拔。 | ||
getDescription() | 获取设备描述信息。 | ||
getState() | 获取设备挂载状态。 | ||
getVolUuid() | 获取设备唯一标识符。 |
查询设备视图
调用查询设备视图接口。
// 获取默认存储设备挂载状态
MountState status = DataUsage.getDiskMountedStatus();
// 获取存储设备列表
Optional<List<Volume>> list = DataUsage.getVolumes();
// 默认存储设备是否为可插拔设备
boolean pluggable = DataUsage.isDiskPluggable();
查询设备视图属性
// 获取example.txt 文件所在的存储设备的视图属性
Optional<Volume> volume = DataUsage.getVolume(new File("/sdcard/example.txt"));
volume.ifPresent(theVolume -> {
System.out.println(theVolume.isEmulated());
System.out.println(theVolume.isPluggable());
System.out.println(theVolume.getDescription());
System.out.println(theVolume.getVolUuid());
}
);
(c) 2024 chaojicainiao.com MIT license