抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > Android 获取应用占用存储空间大小

Android 获取应用占用存储空间大小

时间:2020-04-08 07:55:39

相关推荐

搜索网上的方法,使用storageStatsManager.queryStatsForUid(),获得到的数据不正确,使用queryStatsForPackage才拿到正确的数据

public static long getAppStorage(Context context, String packageName) {StorageStatsManager storageStatsManager = (StorageStatsManager) context.getSystemService(Context.STORAGE_STATS_SERVICE);StorageManager storageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);List<StorageVolume> storageVolumes = storageManager.getStorageVolumes();long appSizeL =0;for (StorageVolume storageVolume : storageVolumes) {UUID uuid = null;String uuidStr = storageVolume.getUuid();try {if (TextUtils.isEmpty(uuidStr)){uuid = StorageManager.UUID_DEFAULT;}else {uuid = UUID.fromString(uuidStr);}}catch (Exception e){uuid = StorageManager.UUID_DEFAULT;}//通过包名获取uidint uid = 0;try {uid = getUid(context, packageName);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}StorageStats storageStats = null;try {UserHandle userHandle = Process.myUserHandle();storageStats = storageStatsManager.queryStatsForPackage(uuid, packageName, userHandle);} catch (Exception e) {e.printStackTrace();return 0;}//获取到App的总大小appSizeL = storageStats.getAppBytes() + storageStats.getCacheBytes() + storageStats.getDataBytes();}return appSizeL;}

如果觉得《Android 获取应用占用存储空间大小》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。