IPackageStatsObserverで取得が可能なようです。
ただ残念ながら非公開APIらしく、標準では取得が出来ないようなのでちょっと工夫が必要。
IPackageStatsObserverを使用する方法。
参考サイト リンク1、リンク2
IPackageStatsObserverを使えるようにする方法
- プロジェクトのsrcにandroid.content.pmのパッケージを作成する
- IPackageStatsObserver.aidlとPackageStats.aidlの2つのAIDLファイルをコピーして先のパッケージへ追加する
アプリのサイズを取得する方法
- AndroidManifest.xmlへ<uses-permission android:name="android.permission.GET_PACKAGE_SIZE"/>を追加する
- 以下のコードで取得が可能
Method getPackageSizeInfo = packageManager.getClass().getMethod("getPackageSizeInfo", String.class, IPackageStatsObserver.class); getPackageSizeInfo.invoke(packageManager, info.packageName, new IPackageStatsObserver.Stub() { @Override public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) throws RemoteException { Log.i("AppSize", "codeSize: " + pStats.codeSize); } });
0 件のコメント:
コメントを投稿