2010-09-09 4 views
7

Na moim nexusie znajduje się przydatna aplikacja dostępna z menu Ustawienia> Informacje o telefonie> Używanie baterii.Utwórz założenie "Zużycie baterii" android

Chciałbym uruchomićActivity() tę aplikację z jednego z moich działań.

widzę w dzienniku, że kiedy Ustawienia uruchamia go, to intencją jest rejestrowane:

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

Mam problemy odnoszące się, że coś w źródle Android Java. Nie mogę nawet znaleźć "fuelgauge" w źródle GIT. Czy każdy może wskazać mi właściwy plik lub cokolwiek innego, np. Jak stworzyć właściwy rodzaj intencji?

Dzięki

Peter

Odpowiedz

18

Kod jest następujący:

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

Czy można również wyświetlić statystyki baterii pojedynczej aplikacji? Czy wiesz, jak uzyskać statystyki wykorzystania danych mobilnych? –

+0

Uruchomienie czynności wyświetlającej statystyki baterii i pobieranie baterii/danych aplikacji to bardzo różne pytania. Myślę, że powinieneś zamieścić nowe pytania. –

+0

Są one, w pewnym sensie: http://stackoverflow.com/questions/23312038/how-to-get-battery-mobile-data-usage-of-specific-apps. Chciałem wiedzieć, jak uzyskać te statystyki za pośrednictwem aplikacji, a gdy nie znalazłem wystarczających informacji, poprosiłem (w komentarzach), jak uzyskać intencje dla tych rzeczy. –

0

bazujemy na kodzie garstka @Chris Lacy, ja owinięty kod do metody statycznej, że dzwonisz, aby otworzyć ten ekran :

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(); 
}