実行中のアプリケーションの一覧とそれぞれのバッテリの使用量を取得しようとしています。私は長い間googleを持っていたが、解決策はなかった。しかし、PowerProfile、PowerUsageSummary内部クラスについては、いくつかの参考文献があります。BatteryStatsImplの内部クラスを使ってAndroidのリフレクションを使用する
私はReflectionテクニックでそれらを使用しましたが、探していたものが見つかりませんでした。 PowerUsageSummaryは、デバイス設定 - >アプリケーション - >バッテリ使用(これはSamsundデバイスでの表示方法です)に移動して表示されるのと同じ詳細を表示します。
私はPowerProfileクラスを使っていましたが、WIFI、AUDIO、VIDEO、GPS、BLUETOOTHなどの電流のmAしか得られませんでした(mA値はあまり変化しません。別のリファレンスはBatteryStatsImplクラスでした。私はこのクラスをテストしましたが、値は常に0です。それでも私は、実行中のアプリケーションの一覧とそれぞれのバッテリの使用量を探しています。どんな助けもありがとうございます。
おかげで、
は、ここで私はBatteryStatsImplクラスにしようとしたサンプル・コードです。
String BATTERY_PROFILE_CLASS = "com.android.internal.os.BatteryStatsImpl";
Object mBatteryProfile = Class.forName(BATTERY_PROFILE_CLASS).getConstructor().newInstance();
Method batteryMeth = Class.forName(BATTERY_PROFILE_CLASS).getMethod("getBatteryUptime", long.class);
Object arglist1[] = new Object[1];
arglist1[0] = System.currentTimeMillis();
// This is to calculate the batteryUpTime since the current time.
Long batteryUptime = (Long) batteryMeth.invoke(mBatteryProfile, arglist1);
Method dischargeMeth = Class.forName(BATTERY_PROFILE_CLASS).getMethod("getDischargeStartLevel");
// This is to calculate the dischargeTime of the device battery
Integer dischargeTime = (Integer) dischargeMeth.invoke(mBatteryProfile);
こんにちは、あなたが探していたものを見つけましたか?あなたがした場合、結果を投稿してもらえますか? – Drimmka