0

这个对吗?我正在修改来自 github 的源代码:USB CHARGE COMMANDER 当电池电量从 20% 下降时,它会在电池电量下降 80 时充电,它不会和倒数计时器每 5 分钟执行一次我设置 20000 只是为了测试

    boolean startcountdown=true;
    do{
         new CountDownTimer(20000, 1000) {

        Intent intent  = _context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));   
        int    level   = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
        int    scale   = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
        int    percent = (level*100)/scale;

        public void onTick(long millisUntilFinished) {}

        public void onFinish() {
                if(percent <= 20){
                        _iIsCharging = 1;
                }
                else if (percent >=80){
                        _iIsCharging = 0;
                }
                else{
                        _iIsCharging = 1;
                }
            }
        }.start();
        }while(startcountdown);
4

1 回答 1

0

这个 do/while 循环无法结束,目前它是一个无限循环。布尔值“startcountdown”需要某种方式最终达到 FALSE 的值。例如

if (_iIsCharging == 0) {
    startcountdown = false;
}
于 2014-12-02T03:04:34.660 回答