获取第三方应用rom大小,主要是通过系统接口IPackageStatsObserver和PackageStats来获取的,而这两个文件我们是直接访问不到的。这边是通过ADIL的方式来调用的。
1、创建两个AIDL文件IPackageStatsObserver和PackageStats,要求包名和sdk中本身文件的包名必须一致。
包名为:android.content.pm
创建目录为上图,IPackageStatsObserver文件内容为:
package android.content.pm;
import android.content.pm.PackageStats;
/**
* API for package data change related callbacks from the Package Manager.
* Some usage scenarios include deletion of cache directory, generate
* statistics related to code, data, cache usage(TODO)
* {@hide}
*/
oneway interface IPackageStatsObserver {
void onGetStatsCompleted(in PackageStats pStats, boolean succeeded);
}
PackageStats文件内容为:
package android.content.pm;
parcelable Package