【问题标题】:Create "Battery usage" intent android创建“电池使用”意图android
【发布时间】:2010-09-09 00:53:40
【问题描述】:

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

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

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

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

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

谢谢

彼得

【问题讨论】:

    标签: android android-intent battery


    【解决方案1】:

    代码如下:

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

    【讨论】:

    • 是否也可以查看单个应用的电池统计信息?另外,您知道如何获取移动数据使用的统计信息吗?
    • 启动显示电池统计信息的 Activity 和获取应用的电池/数据使用情况是非常不同的问题。我认为你应该发布新问题。
    • 他们有点像:stackoverflow.com/questions/23312038/…。我想知道如何通过应用程序获取这些统计信息,当我没有找到足够的信息时,我(在 cmets 上)询问如何获取这些内容的意图。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      相关资源
      最近更新 更多