9

在我的 nexus 上,可以从设置 > 关于手机 > 电池使用中访问一个方便的应用程序。

我想从我的一项活动中启动该应用程序。

我可以在日志中看到,当设置运行它时,会记录这个意图:

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

我无法将其与 Android Java 源代码中的某些内容联系起来。我什至在 GIT 源代码中都找不到“fuelgauge”。谁能给我指出正确的文件,或者任何其他有用的东西,比如如何创建正确的 Intent?

谢谢

彼得

4

2 回答 2

23

代码如下:

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);
}
于 2012-03-02T09:38:04.383 回答
0

基于@Chris Lacy 的少数代码,我将代码包装到您调用以打开此屏幕的静态方法中:

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();
} 
于 2015-03-19T10:38:30.353 回答