IPackageStatsObserverを使ってアプリのサイズを取得したいです。
http://iwatanlab.blogspot.jp/2011/03/android.html
上記のHPには以下の内容が書かれています。
1.プロジェクトのsrcにandroid.content.pmのパッケージを作成する
2.IPackageStatsObserver.aidlとPackageStats.aidlの2つのAIDLファイルをコピーして先のパッケージへ追加する
アプリのサイズを取得する方法
1.AndroidManifest.xmlへ<uses-permission 2.android:name="android.permission.GET_PACKAGE_SIZE"/>を追加する
以下のコードで取得が可能
java
1Method getPackageSizeInfo = 2 packageManager.getClass().getMethod("getPackageSizeInfo", 3 String.class, 4 IPackageStatsObserver.class); 5 6getPackageSizeInfo.invoke(packageManager, info.packageName, new IPackageStatsObserver.Stub() { 7 @Override 8 public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) 9 throws RemoteException { 10 11 Log.i("AppSize", "codeSize: " + pStats.codeSize); 12 } 13});
android.content.pmというパッケージを作り、配下にネットから拾ってきたIPackageStatsObserver.aidlとPackageStats.aidlを作りましたが上手くいきません。
IPackageStatsObserver.aidlをaidlファイルでなくインターフェイスにして、ソースも少しいじってやる(Stubメソッドを中身空で追加など)と、なんだかわからないけど何かが取れます。
どなたか正しい使い方を御教示ください。
アプリ毎のデータサイズ、コードサイズ、キャッシュサイズなど取得したいです。
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。