在定制化开发中,有客户需求要求改内部存储为128G 首选看Settings存储页面跟进代码 发现
StorageStatsService磁盘存储的服务提供了相关应用程序、用户以及外部/共享存储如何计算磁盘空间
StorageStatsManager
权限声明
当为您自己的程序包或UID调用StorageStatsManager API时,不需要声明权限。
请求其他任何软件包的详细信息都需要android.Manifest.permission#PACKAGE_USAGE_STATS权限,这是系统级权限,不会授予普通应用程序。声明权限表示您打算使用此API,最终用户可以选择通过“设置”应用程序授予
frameworks/base/services/usage/java/com/android/server/usage/StorageStatsService.java
//计算某个文件的大小
@Override
public long getTotalBytes(String volumeUuid, String callingPackage) {
// NOTE: No permissions required
//内部存储的大小
if (volumeUuid == StorageManager.UUID_PRIVATE_INTERNAL