質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

2039閲覧

データ使用量で取得出来る値がほしい

takukill

総合スコア23

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2015/04/16 08:53

編集2015/04/16 08:57

端末のデータ使用量を開くと、グラフとリストが表示されると思います。
リストの方の値を取得したいです。

・やったこと
以下を使用していたが、テザリングなどの項目が取得できなかったです

PackageManager pm = context.getPackageManager(); Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); List<ResolveInfo> installedAppList = pm.queryIntentActivities(intent, 0); final HashSet<String> appList = new HashSet<String>(); for (ResolveInfo item : installedAppList) { //HashSetに入れて、複数個有るものを削除する appList.add(item.activityInfo.packageName); }

データ使用量のリストの値を取得出来る方法をご存じでしたら、教えてほしいです。
よろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ここなどが参考になります。
http://iwatanlab.blogspot.jp/2011/03/android.html

IPackageStatsObserver.aidl,PackageStats.aidlを
src/android/content/pmに追加して、下記のコードで実現しています。
非同期のコールバックになるので、アプリ数が多い、CPUが早くない、
と、それなりに遅いです。(設定-アプリケーションと同じことをするため)
IPackageStatsObserver.aidl,PackageStats.aidlを検索すれば、
色々出てきますよ。
データ容量はキャッシュを含まなかったかな。

long lngCacheSize; long lngCodeSize; long lngDataSize; Method getPackageSizeInfo = null; try { lngCodeSize = -1; getApplicationSize(packageManager,count,strClassName); while(lngCodeSize == -1) { Thread.sleep(1); } } catch (Exception e) { } public void getApplicationSize( PackageManager packageManager , int index , String strClassName ) throws Exception { if(getPackageSizeInfo == null) { getPackageSizeInfo = packageManager.getClass().getMethod( "getPackageSizeInfo" , String.class , IPackageStatsObserver.class ); } getPackageSizeInfo.invoke( packageManager , strClassName , new IPackageStatsObserver.Stub() { @Override public void onGetStatsCompleted( PackageStats pStats , boolean succeeded ) throws android.os.RemoteException { lngCacheSize = pStats.cacheSize; lngCodeSize = pStats.codeSize; lngDataSize = pStats.dataSize; } }); }

投稿2015/04/17 04:55

kanchan

総合スコア79

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問