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

  • 2023-06-24
  • 浏览 (607)

@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

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

参数:

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

返回值:

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

错误码:

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

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

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

参数:

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

错误码:

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

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

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

参数:

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

返回值:

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

错误码:

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

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

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

参数:

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

错误码:

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

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

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

参数:

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

返回值:

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

错误码:

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

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

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

参数:

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

错误码:

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

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

参数:

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

错误码:

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

错误码ID 错误信息
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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

名称 类型 可读 可写 说明
appSize number app数据大小(单位为Byte)
cacheSize number 缓存数据大小(单位为Byte)
dataSize number 应用总数据大小(单位为Byte)

storageStatistics.getTotalSize9+

getTotalSize(): Promise<number>

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

需要权限:ohos.permission.STORAGE_MANAGER

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

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

返回值:

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

错误码:

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

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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

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

参数:

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

错误码:

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

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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

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

参数:

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

错误码:

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

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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

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

参数:

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

错误码:

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

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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

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

参数:

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

错误码:

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

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error.
13900042 Unknown 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

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

参数:

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

返回值:

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

错误码:

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

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

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

参数:

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

错误码:

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

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

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

名称 类型 可读 可写 说明
total number 内置存储总空间大小(单位为Byte)
audio number 音频数据大小 (单位为Byte)
video number 视频数据大小(单位为Byte)
image number 图像数据大小 (单位为Byte)
file number 文件数据大小 (单位为Byte)
app number 应用数据大小(单位为Byte)

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

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

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

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

harmony 鸿蒙BundleStatusCallback

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

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

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

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

0  赞