Ich versuche, die ca. schätzen. verbleibende Akkulaufzeit in Android unter Verwendung der Methode unten, aber es ist nicht in allen Zeiten korrekt. Bitte geben Sie eine Anregung, die Genauigkeit zu verbessern,Schätzen Sie die verbleibende Akkulaufzeit in Android
- Below Methode aktuelle Zeitstempel in Präferenz sparen, wenn die Batterie zu 20%, 15%
- Es berechnen wird ca. Schätzung von oben 2 mal gespeichert
Dank
public static String getBatteryEstimation(Context context){
String contentText = "";
try{
//timestamp recorded when battery reach 20%
long time1 = PreferencesUtil.getInstance().getLong(PreferencesUtil.KEY_BATTERY_THERESHOLD_TIME_1);
//timestamp recorded when battery reach 15%
long time2 = PreferencesUtil.getInstance().getLong(PreferencesUtil.KEY_BATTERY_THERESHOLD_TIME_2);
long timeDiffInMillis = time2 - time1;
long timeTakenFor1Percentage = Math.round(timeDiffInMillis/5);
long timeLastForNext15Percentage = timeTakenFor1Percentage * 15;
long hoursLast = Math.abs(TimeUnit.MILLISECONDS.toHours(timeLastForNext15Percentage));
long minutesLast = Math.abs(TimeUnit.MILLISECONDS.toMinutes(timeLastForNext15Percentage)- TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(timeLastForNext15Percentage)));
String timeLastMessage = "";
if(hoursLast > 0){
timeLastMessage = String.valueOf(minutesLast)+" hour(s) "+String.valueOf(minutesLast) + " min(s)";
} else {
timeLastMessage = String.valueOf(minutesLast) + " min(s)";
}
DateFormat dateFormat = new SimpleDateFormat("HH:mm dd MMM");
Date date = new Date();
contentText = String.format(context.getString(R.string.battery_low_content_1), timeLastMessage, dateFormat.format(date));
} catch (Exception e){
e.printStackTrace();
}
return contentText;
}
Haben Sie darüber nachgedacht, mehr Proben zu nehmen und stattdessen eine Projektion basierend darauf zu erstellen? Nehmen Sie zum Beispiel ein Beispiel für jedes% verringert und machen Sie dann eine Projektion mit einem der bekannten Algorithmen? :) – JohanShogun
http://android.stackexchange.com/questions/45734/how-does-the-android-os-estimate-remaining-battery-time –
Können Sie die Präferenz Util-Klasse? – Kaushal28