以下方法支持Android1.1到2.3.3,即目前所有版本
需要两个aidl文件:
IPackageStatsObserver.aidl
PackageStats.aidl
//获取应用程序信息
public void getpkginfo(String pkg){
PackageManager pm = getPackageManager();
try {
Method getPackageSizeInfo = pm.getClass()
.getMethod("getPackageSizeInfo", String.class,
IPackageStatsObserver.class);
getPackageSizeInfo.invoke(pm, pkg,
new PkgSizeObserver());
} catch (Exception e) {
// TODO: handle exception
}
}
class PkgSizeObserver extends IPackageStatsObserver.Stub {
public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) {
System.out.println("应用程序大小: "+pStats.codeSize);
}
}
完整代码参考附件。