2010-09-09 11 views
7

Auf meinem nexus eins, gibt es eine praktische App über Einstellungen> About Phone> Battery use.Erstellen Sie "Batterieverbrauch" Intent Android

Ich möchte StartActivity() diese App von einer meiner Aktivitäten.

Ich kann im Protokoll sehen, dass, wenn Einstellungen laufen, wird diese Absicht protokolliert:

Starting activity: 
    Intent { act=android.intent.action.MAIN 
      cmp=com.android.settings/.fuelgauge.PowerUsageSummary } 

Ich habe Probleme im Zusammenhang, dass etwas in Android Java-Quelle. Ich kann nicht einmal "fuelgauge" in der GIT-Quelle finden. Kann mir jemand auf die richtige Datei oder irgendetwas anderes hilfreiches hinweisen, wie zum Beispiel die richtige Art von Absicht?

Dank

Peter

Antwort

18

-Code wie folgt:

Intent powerUsageIntent = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY); 
ResolveInfo resolveInfo = getPackageManager().resolveActivity(powerUsageIntent, 0); 
// check that the Battery app exists on this device 
if(resolveInfo != null){ 
    startActivity(powerUsageIntent); 
} 
+0

Ist es an die Batterie Statistiken einer einzelnen App gehen auch möglich? Wissen Sie auch, wie Sie zu den Statistiken der mobilen Datennutzung gelangen? –

+0

Das Starten der Aktivität, die Batteriestatistiken anzeigt und die Akku-/Datennutzung einer App abrufen, sind sehr unterschiedliche Fragen. Ich denke du solltest neue Fragen stellen. –

+0

Sie sind, irgendwie: http://stackoverflow.com/questions/23312038/how-to-get-battery-mobile-data-usage-of-specific-apps. Ich wollte wissen, wie man diese Statistiken über die App bekommt, und als ich keine ausreichenden Informationen fand, fragte ich (auf den Kommentaren), wie man die Absichten für diese Sachen bekommt. –

0

Base auf der Hand voll Code von @ Chris Lacy, wickelte ich den Code auf statische Methode, die Sie diesen Bildschirm öffnen rufen :

public static void openBatteryUsagePage(Context ctx){ 
    Intent powerUsageIntent = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY); 
    ResolveInfo resolveInfo = ctx.getPackageManager().resolveActivity(powerUsageIntent, 0); 
    // check that the Battery app exists on this device 
    if(resolveInfo != null){ 
     ctx.startActivity(powerUsageIntent); 
    } else 
     Toast.makeText(ctx, R.string.not_found, Toast.LENGTH_LONG).show(); 
}