@Override
public void getBoardTemperature() {
//获取主板的温度
- double boardTemperature = TemperatureUtil.getBoardTemperature();
- if (mExInfoCallback != null) {
- try {
- mExInfoCallback.onBoardTemperatureLoaded(boardTemperature);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
+ doBoardTempCheck(false);
}
@Override
AlarmManagerUtil.setAlarmTime(SensorDataService.this,
System.currentTimeMillis() + nextDistance,
intent);
+ doBoardTempCheck(true);
} else {
//取消alarm
AlarmManagerUtil.cancelAlarm(SensorDataService.this, AlarmManagerUtil.ALARM_ACTION,
}
};
+ private void doBoardTempCheck(boolean fitter) {
+ double boardTemperature = TemperatureUtil.getBoardTemperature();
+ if (mExInfoCallback != null) {
+ try {
+ if (!fitter) {
+ mExInfoCallback.onBoardTemperatureLoaded(boardTemperature);
+ } else {
+ //判断是否有超出阀值
+ if (boardTemperature > mBoardTopLimit) {
+ mExInfoCallback.onBoardTemperatureLoaded(boardTemperature);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
//这个是温度通知的,如果任务已经在队列里了,那么就不再发送任务了,但是会被通知到的。
private final RemoteCallbackList<ITempSensorCallback> temperatureCallbacks =