harmony 鸿蒙@ohos.file.storageStatistics (应用空间统计)

2023-06-24 浏览 (1014)

@ohos.file.storageStatistics (应用空间统计)

该模块提供空间查询相关的常用功能:包括对内外卡的空间查询,对应用分类数据统计的查询,对应用数据的查询等。

说明:

本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import storageStatistics from "@ohos.file.storageStatistics";

storageStatistics.getTotalSizeOfVolume

getTotalSizeOfVolume(volumeUuid: string): Promise<number>

异步获取外置存储设备中指定卷设备的总空间大小(单位为Byte),以promise方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
volumeUuidstring卷设备uuid

返回值:

类型说明
Promise<number>Promise对象,返回指定卷设备的总空间大小(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13600008No such object.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
let uuid: string = "";
storageStatistics.getTotalSizeOfVolume(uuid).then((number: number) => {
  console.info("getTotalSizeOfVolume successfully:" + number);
}).catch((err: BusinessError) => {
  console.info("getTotalSizeOfVolume failed with error:" + JSON.stringify(err));
});

storageStatistics.getTotalSizeOfVolume

getTotalSizeOfVolume(volumeUuid: string, callback: AsyncCallback<number>): void

异步获取外置存储设备中指定卷设备的总空间大小(单位为Byte),以callback方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
volumeUuidstring卷设备uuid
callbackAsyncCallback<number>获取指定卷设备总空间之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13600008No such object.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
let uuid: string = "";
storageStatistics.getTotalSizeOfVolume(uuid, (error: BusinessError, number: number) => {
  // do something
  console.info("getTotalSizeOfVolume successfully:" + number);
});

storageStatistics.getFreeSizeOfVolume

getFreeSizeOfVolume(volumeUuid: string): Promise<number>

异步获取外置存储设备中指定卷设备的可用空间大小(单位为Byte),以promise方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
volumeUuidstring卷设备uuid

返回值:

类型说明
Promise<number>Promise对象,返回指定卷的可用空间大小(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13600008No such object.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
let uuid: string = "";
storageStatistics.getFreeSizeOfVolume(uuid).then((number: number) => {
  console.info("getFreeSizeOfVolume successfully:" + number);
}).catch((err: BusinessError) => {
  console.info("getFreeSizeOfVolume failed with error:" + JSON.stringify(err));
});

storageStatistics.getFreeSizeOfVolume

getFreeSizeOfVolume(volumeUuid: string, callback: AsyncCallback<number>): void

异步获取外置存储设备中指定卷设备的可用空间大小(单位为Byte),以callback方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
volumeUuidstring卷设备uuid
callbackAsyncCallback<number>获取指定卷可用空间之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13600008No such object.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
let uuid: string = "";
storageStatistics.getFreeSizeOfVolume(uuid, (error: BusinessError, number: number) => {
  // do something
  console.info("getFreeSizeOfVolume successfully: " + number);
});

storageStatistics.getBundleStats9+

getBundleStats(packageName: string): Promise<BundleStats>

异步获取应用存储空间大小(单位为Byte),以promise方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
packageNamestring应用包名

返回值:

类型说明
Promise<Bundlestats>Promise对象,返回指定卷上的应用存储数据(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13600008No such object.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
let packageName: string = "";
storageStatistics.getBundleStats(packageName).then((BundleStats: storageStatistics.Bundlestats) => {
  console.info("getBundleStats successfully:" + JSON.stringify(BundleStats));
}).catch((err: BusinessError) => {
  console.info("getBundleStats failed with error:" + JSON.stringify(err));
});

storageStatistics.getBundleStats9+

getBundleStats(packageName: string, callback: AsyncCallback<BundleStats>): void

异步获取应用存储空间大小(单位为Byte),以callback方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
packageNamestring应用包名
callbackAsyncCallback<Bundlestats>获取指定卷上的应用存储数据之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13600008No such object.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
let packageName: string = "";
storageStatistics.getBundleStats(packageName, (error: BusinessError, BundleStats: storageStatistics.Bundlestats) => {
  // do something
  console.info("getBundleStats successfully:" + JSON.stringify(BundleStats));
});

storageStatistics.getCurrentBundleStats9+

getCurrentBundleStats(): Promise<BundleStats>

第三方应用异步获取当前应用存储空间大小(单位为Byte),以promise方式返回。

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

返回值:

类型说明
Promise<Bundlestats>Promise对象,返回指定卷上的应用存空间大小(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getCurrentBundleStats().then((BundleStats: storageStatistics.Bundlestats) => {
  console.info("getCurrentBundleStats successfully:" + JSON.stringify(BundleStats));
}).catch((err: BusinessError) => {
  console.info("getCurrentBundleStats failed with error:"+ JSON.stringify(err));
});

storageStatistics.getCurrentBundleStats9+

getCurrentBundleStats(callback: AsyncCallback<BundleStats>): void

第三方应用异步获取当前应用存储空间大小(单位为Byte),以callback方式返回。

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

参数:

参数名类型必填说明
callbackAsyncCallback<BundleStats>获取指定卷上的应用存储空间大小之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getCurrentBundleStats((error: BusinessError, bundleStats: storageStatistics.Bundlestats) => {
  // do something
  console.info("getCurrentBundleStats successfully:" + JSON.stringify(bundleStats));
});

BundleStats9+

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

名称类型可读可写说明
appSizenumberapp数据大小(单位为Byte)
cacheSizenumber缓存数据大小(单位为Byte)
dataSizenumber应用总数据大小(单位为Byte)

storageStatistics.getTotalSize9+

getTotalSize(): Promise<number>

获取内置存储的总空间大小(单位为Byte),以promise方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

返回值:

类型说明
Promise<number>Promise对象,返回内置存储的总空间大小(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getTotalSize().then((number: number) => {
  console.info("getTotalSize successfully:" + JSON.stringify(number));
}).catch((err: BusinessError) => {
  console.info("getTotalSize failed with error:"+ JSON.stringify(err));
});

storageStatistics.getTotalSize9+

getTotalSize(callback: AsyncCallback<number>): void

获取内置存储的总空间大小(单位为Byte),以callback方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
callbackAsyncCallback<number>获取内置存储的总空间大小之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getTotalSize((error: BusinessError, number: number) => {
  // do something
  console.info("getTotalSize successfully:"+ JSON.stringify(number));
});

storageStatistics.getTotalSizeSync10+

getTotalSizeSync(): number

同步获取内置存储的总空间大小(单位为Byte)。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
try {
  let number = storageStatistics.getTotalSizeSync();
  console.info("getTotalSizeSync successfully:" + JSON.stringify(number));
} catch (error) {
  let error: BusinessError = err as BusinessError;
  console.info("getTotalSizeSync failed with error:" + JSON.stringify(err));
}

storageStatistics.getFreeSize9+

getFreeSize(): Promise<number>

获取内置存储的可用空间大小(单位为Byte),以promise方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

返回值:

类型说明
Promise<number>Promise对象,返回内置存储的可用空间大小(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getFreeSize().then((number: number) => {
  console.info("getFreeSize successfully:" + JSON.stringify(number));
}).catch((err: BusinessError) => {
  console.info("getFreeSize failed with error:" + JSON.stringify(err));
});

storageStatistics.getFreeSize9+

getFreeSize(callback: AsyncCallback<number>): void

获取内置存储的可用空间大小(单位为Byte),以callback方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
callbackAsyncCallback<number>获取内置存储的可用空间大小之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getFreeSize((error: BusinessError, number: number) => {
  // do something
  console.info("getFreeSize successfully:" + JSON.stringify(number));
});

storageStatistics.getFreeSizeSync10+

getFreeSizeSync(): number

同步获取内置存储的可用空间大小(单位为Byte)。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
try {
  let number = storageStatistics.getFreeSizeSync();
  console.info("getFreeSizeSync successfully:" + JSON.stringify(number));
} catch (error) {
  let error: BusinessError = err as BusinessError;
  console.info("getFreeSizeSync failed with error:" + JSON.stringify(err));
}

storageStatistics.getSystemSize9+

getSystemSize(): Promise<number>

异步获取系统数据的空间大小(单位为Byte),以promise方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

返回值:

类型说明
Promise<number>Promise对象,返回系统数据的空间大小(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getSystemSize().then((number: number) => {
  console.info("getSystemSize successfully:" + number);
}).catch((err: BusinessError) => {
  console.info("getSystemSize failed with error:" + JSON.stringify(err));
});

storageStatistics.getSystemSize9+

getSystemSize(callback: AsyncCallback<number>): void

异步获取系统数据的空间大小(单位为Byte),以callback方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
callbackAsyncCallback<number>获取系统数据的空间大小之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getSystemSize((error: BusinessError, number: number) => {
  // do something
  console.info("getSystemSize successfully:" + number);
});

storageStatistics.getUserStorageStats9+

getUserStorageStats(): Promise<StorageStats>

异步获取当前用户各类别存储空间大小(单位为Byte),以promise方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

返回值:

类型说明
Promise<StorageStats>Promise对象,返回当前用户各类别存储空间大小(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getUserStorageStats().then((storageStats: storageStatistics.StorageStats) => {
  console.info("getUserStorageStats successfully:" + JSON.stringify(storageStats));
}).catch((err: BusinessError) => {
  console.info("getUserStorageStats failed with error:" + JSON.stringify(err));
});

storageStatistics.getUserStorageStats9+

getUserStorageStats(callback: AsyncCallback<StorageStats>): void

异步获取当前用户各类别存储空间大小(单位为Byte),以callback方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
callbackAsyncCallback<StorageStats>返回用户各类别存储空间大小之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
storageStatistics.getUserStorageStats((error: BusinessError, storageStats: storageStatistics.StorageStats) => {
  // do something
  console.info("getUserStorageStats successfully:" + JSON.stringify(storageStats));
});

storageStatistics.getUserStorageStats9+

getUserStorageStats(userId: number): Promise<StorageStats>

异步获取指定用户各类别存储空间大小(单位为Byte),以promise方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
userIdnumber用户id

返回值:

类型说明
Promise<StorageStats>Promise对象,返回指定用户各类别存储空间大小(单位为Byte)

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13600009User if out of range.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
let userId: number = 100;
storageStatistics.getUserStorageStats(userId).then((storageStats: storageStatistics.StorageStats) => {
  console.info("getUserStorageStats successfully:" + JSON.stringify(storageStats));
}).catch((err: BusinessError) => {
  console.info("getUserStorageStats failed with error:" + JSON.stringify(err));
});

storageStatistics.getUserStorageStats9+

getUserStorageStats(userId: number, callback: AsyncCallback<StorageStats>): void

异步获取指定用户各类别存储空间大小(单位为Byte),以callback方式返回。

需要权限:ohos.permission.STORAGE_MANAGER

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

参数:

参数名类型必填说明
userIdnumber用户id
callbackAsyncCallback<StorageStats>返回各类别数据大小之后的回调

错误码:

以下错误码的详细介绍请参见文件管理错误码

错误码ID错误信息
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.
13600009User if out of range.
13900042Unknown error.

示例:

import { BusinessError } from '@ohos.base';
let userId: number = 100;
storageStatistics.getUserStorageStats(userId, (error: BusinessError, storageStats: storageStatistics.StorageStats) => {
  // do something
  console.info("getUserStorageStats successfully:" + JSON.stringify(storageStats));
});

StorageStats9+

系统能力:SystemCapability.FileManagement.StorageService.SpatialStatistics

系统接口: 该接口为系统接口。

名称类型可读可写说明
totalnumber内置存储总空间大小(单位为Byte)
audionumber音频数据大小 (单位为Byte)
videonumber视频数据大小(单位为Byte)
imagenumber图像数据大小 (单位为Byte)
filenumber文件数据大小 (单位为Byte)
appnumber应用数据大小(单位为Byte)

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/a9bf7335bef343c4a6ae3860ccc10772