2010-09-09 62 views
7

在我的nexus之一,有一個方便的應用程序可以從設置>關於手機>電池使用。創建「電池使用」的意圖android

我想從我的一項活動中獲得StartActivity()該應用程序。

我可以在日誌中看到,當設置運行它,這個意圖是記錄:

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

我在與麻煩在Android的Java源代碼的東西。我甚至無法在GIT來源中找到「fuelgauge」。任何人都可以將我指向正確的文件或任何其他有用的東西,比如如何創建正確的Intent?

感謝

彼得

回答

18

代碼如下:對@克里斯拉齊一小撮代碼

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

是否有可能轉到單個應用程序的電池狀態?另外,您是否知道如何獲取移動數據使用情況的統計信息? – 2014-04-26 15:09:10

+0

啓動顯示電池狀態並獲取應用程序電池/數據使用情況的活動是非常不同的問題。我想你應該發佈新的問題。 – 2014-04-28 05:48:18

+0

他們是,有點:http://stackoverflow.com/questions/23312038/how-to-get-battery-mobile-data-usage-of-specific-apps。我想知道如何通過應用獲取這些統計信息,當我沒有找到足夠的信息時,我詢問了(如何評論)如何獲得這些信息。 – 2014-04-28 06:44:06

0

基地,我包的代碼給你打電話打開此屏幕的靜態方法:

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