【问题标题】:What is the best way to get battery level on Android without permanently monitoring it? [duplicate]在不永久监控 Android 的情况下获取电池电量的最佳方法是什么? [复制]
【发布时间】:2018-09-07 06:50:19
【问题描述】:

我只需要在某一时刻将电池电量百分比打印在屏幕上,但我不想在之后继续监控它。

互联网上的所有代码似乎都在监听未来的变化,但我只需要一次。可以做些什么来以简单的方式获得它?

【问题讨论】:

    标签: android battery


    【解决方案1】:

    Get battery level only once using Android SDK 中所述 您可以使用以下代码:

    public float getBatteryLevel() {
        Intent batteryIntent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
        int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
    
        // Error checking that probably isn't needed but I added just in case.
        if(level == -1 || scale == -1) {
            return 50.0f;
        }
    
        return ((float)level / (float)scale) * 100.0f; 
    }
    

    【讨论】:

    • 代码很棒,运行良好。非常感谢您的快速回复!
    • 不确定是否返回 50.0f for unknown... 最好返回 -1 并让应用决定如何继续?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多