Remaining time to battery discharge on android

后端 未结 3 512
遇见更好的自我
遇见更好的自我 2021-01-14 21:42

I am looking for a code for estimating/guessing time remaining before the android phone battery is completely discharged. My search results were full of apps available and a

相关标签:
3条回答
  • 2021-01-14 22:21

    You can not accurately guess that how much time is remaining for battery discharge, because there might be different applications or service consuming battery. thus it might vary.

    However you can get battery life with help of broadcast receiver by registering a receiver for action Intent.ACTION_BATTERY_CHANGED. My answer is key only, get information from Android Developers website.

    By using the below statement in onReceive() method of BroadcastReceiver with above Intent action, you will get battery level currently available(e.g., 50%, 60%, etc.). But you can't estimate the time remaining, because some apps may consume more power. So i think battery level to time remaining conversion won't give correct result.

    battery_level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
    

    I hope it may help you.

    0 讨论(0)
  • 2021-01-14 22:24
    @Override
    public void onCreate() {
        BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
            int scale = -1;
            int level = -1;
            int voltage = -1;
            int temp = -1;
            @Override
            public void onReceive(Context context, Intent intent) {
                level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
                scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
                temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
                voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
                Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage);
            }
        };
        IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        registerReceiver(batteryReceiver, filter);
    }
    
    0 讨论(0)
  • 2021-01-14 22:41

    it is almost impossible for anybody to calculate the exact time for anybody. first problem: we don't know the model of the battery and the cycles it has gone through till now that is the health of the battery. which app consumes more or less power we don't know. so you need to run the app on for at least 10 days to get all of these data and you need to modify the data regularly then you will be able to estimate correctly. so it is an advanced app.

    0 讨论(0)
提交回复
热议问题