From: snickersun Date: Wed, 16 Dec 2020 08:37:38 +0000 (+0800) Subject: 优化电池检查逻辑,开机,心跳,进行全程电量比对。 X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=cd3c60b955e1c41d3e2483bf4f9aa2ba36fb7485;p=protocol_srv.git 优化电池检查逻辑,开机,心跳,进行全程电量比对。 解决之前25~15之间不会接触低电状态,以及心跳检测的时候电压区间检测不完整的问题。 --- diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 3535df3d..98e942b5 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -1173,13 +1173,13 @@ public class CoreService extends Service { // ICLogger.i(""); // } } - //检测电池电量 并上报低电报警 - batteryUtil.getBatteryLevel(this); - setHeartAlarm(); - if (Config.LOG_TOFILE) - ICLogger.logToFile("alarmCycle", "HEART_ALARM alarmCycle "); - return Service.START_STICKY; } + //检测电池电量 并上报低电报警 + batteryUtil.getBatteryLevel(this); + setHeartAlarm(); + if (Config.LOG_TOFILE) + ICLogger.logToFile("alarmCycle", "HEART_ALARM alarmCycle "); + return Service.START_STICKY; }else if (ACTION_LOCATION_ALARM.equals(paramIntent.getAction())) { diff --git a/app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java b/app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java index 28c6d6f8..1b7cb2a0 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java @@ -84,43 +84,8 @@ public class BatteryUtil { msg.append("BatteryLevel "+batLevel + " BatteryVotage "+batteryVolt+"; "); if (Config.LOG_TOFILE)ICLogger.logToFile("Battery",msg.toString()); ICLogger.i(msg.toString()); - if (batLevel >= 100) { - mRuntime.setBattery(String.format("%03d",100)); - mRuntime.setBattery(100); - mRuntime.setHaveBatteryChange(false); - mRuntime.setBatteryLow(false); - } else if (batLevel<100 && batLevel >= 25) { - mRuntime.setBattery(String.format("%03d",batLevel)); - mRuntime.setBattery(batLevel); - mRuntime.setHaveBatteryChange(false); - mRuntime.setBatteryLow(false); - } else if (batLevel<25 && batLevel > 15) { - mRuntime.setBattery(String.format("%03d",batLevel)); - mRuntime.setBattery(batLevel); - mRuntime.setHaveBatteryChange(true); - } else if (batLevel<=15 && batLevel > 10) { - if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 15%!"); - checkAndSendBatteryEvent(param1Context,mRuntime); - mRuntime.setBattery(String.format("%03d",batLevel)); - mRuntime.setBattery(batLevel); - mRuntime.setHaveBatteryChange(true); - mRuntime.setBatteryLow(true); - } else if (batLevel<=10 && batLevel > 5) { - if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 10%!"); - checkAndSendBatteryEvent(param1Context,mRuntime); - mRuntime.setBattery(String.format("%03d",batLevel)); - mRuntime.setBattery(batLevel); - mRuntime.setHaveBatteryChange(true); - mRuntime.setBatteryLow(true); - } else { - - if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 5% !"); - checkAndSendBatteryEvent(param1Context,mRuntime); - mRuntime.setBattery(String.format("%03d",batLevel)); - mRuntime.setBattery(batLevel); - mRuntime.setHaveBatteryChange(true); - mRuntime.setBatteryLow(true); - } + //处理电压 + process_battery_level(param1Context,batLevel); }else if (Intent.ACTION_BATTERY_LOW.equals(intent.getAction())) { // mRuntime.setBatteryLow(true); @@ -159,6 +124,47 @@ public class BatteryUtil { AudioService.getInstance().play(context.getAssets(), "warning.mp3"); } + //根据电池电压进行低电报警等状态处理 + public void process_battery_level(Context param1Context, int batLevel){ + if (batLevel >= 100) { + mRuntime.setBattery(String.format("%03d",100)); + mRuntime.setBattery(100); + mRuntime.setHaveBatteryChange(false); + mRuntime.setBatteryLow(false); + } else if (batLevel<100 && batLevel >= 25) { + mRuntime.setBattery(String.format("%03d",batLevel)); + mRuntime.setBattery(batLevel); + mRuntime.setHaveBatteryChange(false); + mRuntime.setBatteryLow(false); + } else if (batLevel<25 && batLevel > 15) { + mRuntime.setBattery(String.format("%03d",batLevel)); + mRuntime.setBattery(batLevel); + mRuntime.setHaveBatteryChange(true); + mRuntime.setBatteryLow(false); + } else if (batLevel<=15 && batLevel > 10) { + if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 15%!"); + checkAndSendBatteryEvent(param1Context,mRuntime); + mRuntime.setBattery(String.format("%03d",batLevel)); + mRuntime.setBattery(batLevel); + mRuntime.setHaveBatteryChange(true); + mRuntime.setBatteryLow(true); + } else if (batLevel<=10 && batLevel > 5) { + if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 10%!"); + checkAndSendBatteryEvent(param1Context,mRuntime); + mRuntime.setBattery(String.format("%03d",batLevel)); + mRuntime.setBattery(batLevel); + mRuntime.setHaveBatteryChange(true); + mRuntime.setBatteryLow(true); + } else { + if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 5% !"); + checkAndSendBatteryEvent(param1Context,mRuntime); + mRuntime.setBattery(String.format("%03d",batLevel)); + mRuntime.setBattery(batLevel); + mRuntime.setHaveBatteryChange(true); + mRuntime.setBatteryLow(true); + } + } + public static void checkAndSendBatteryEvent(Context context, Runtime runtime){ //没有充电,上次电池level > 15% , 上次电池并且不是 低电状态,则报警 @@ -258,24 +264,8 @@ public class BatteryUtil { int batLevel = (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); - if( batLevel>15) { - + process_battery_level(context,batLevel); - }else if (batLevel<=15 && batLevel > 5) { - if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 15%!"); - checkAndSendBatteryEvent(context,mRuntime); - mRuntime.setBattery(String.format("%03d",batLevel)); - mRuntime.setBattery(batLevel); - mRuntime.setHaveBatteryChange(true); - mRuntime.setBatteryLow(true); - } else { - if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 5% !"); - checkAndSendBatteryEvent(context,mRuntime); - mRuntime.setBattery(String.format("%03d",batLevel)); - mRuntime.setBattery(batLevel); - mRuntime.setHaveBatteryChange(true); - mRuntime.setBatteryLow(true); - } return batLevel; }