}\r
};\r
\r
- private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {\r
+ private BroadcastReceiver TimeChangeBroadcastReceiver = new BroadcastReceiver() {\r
public void onReceive(Context param1Context, Intent param1Intent) {\r
StringBuilder stringBuilder2 = new StringBuilder();\r
stringBuilder2.append("broadcastReceiver alarmCycle action==");\r
stringBuilder1.append("时间变化");\r
stringBuilder1.append(param1Intent.getAction()+stringBuilder2.toString());\r
ICLogger.i(stringBuilder1.toString());\r
- CoreService.this.setSleepAlarm();\r
- CoreService.this.setWakeAlarm();\r
- CoreService.this.setHeartAlarm();\r
- CoreService.this.setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
- CoreService.this.setWeatherAlarm();\r
- CoreService.this.setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
- if (CoreService.this.cmcm_call_eiot_into_powersave_mode() == 0)\r
- AlarmWakeUp.isNeedWakeUpAlarm(CoreService.this.runtime);\r
+\r
+ //只有需要确定绝对时间点启动的Alarm需要重置,相对时间点的Alarm不需要重置。防止永远不能正常登陆。\r
+ setSleepAlarm();\r
+ setWakeAlarm();\r
+// setHeartAlarm();\r
+// setHeartRateDetectAlarm(runtime.getPpgTestCycle());\r
+ setWeatherAlarm();\r
+ runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE",runtime); //更新Alarm\r
+ // setLocationAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ if (cmcm_call_eiot_into_powersave_mode() == 0)\r
+ AlarmWakeUp.isNeedWakeUpAlarm(runtime);\r
}\r
};\r
private BroadcastReceiver broadcastSOSReceiver = new BroadcastReceiver() {\r
ICLogger.i("getInvokeHandlerServiceChain");\r
SendChatMessage sendChatMessage = new SendChatMessage();\r
HeartRateManager heartRateManager= new HeartRateManager(this.runtime,this.connection);\r
- SilentManager silentManager = new SilentManager();\r
+ SilentManager silentManager = SilentManager.getInstance();// new SilentManager();\r
sendChatMessage.setNext(heartRateManager);\r
heartRateManager.setNext(silentManager);\r
return sendChatMessage;\r
\r
//注册接收 时间和tiimezone 变更消息\r
IntentFilter intentFilter = new IntentFilter();\r
-// intentFilter.addAction("android.intent.action.TIME_SET");\r
+ intentFilter.addAction("android.intent.action.TIME_SET");\r
intentFilter.addAction("android.intent.action.TIMEZONE_CHANGED");\r
- registerReceiver(this.broadcastReceiver, intentFilter);\r
+ registerReceiver(this.TimeChangeBroadcastReceiver, intentFilter);\r
\r
//注册接收 screen on/off 消息\r
intentFilter = new IntentFilter();\r
this.invokeHandlerServiceChain.processDetach(this.connection, this.runtime);\r
this.locationClient.deinit();\r
this.connection.close();\r
- unregisterReceiver(this.broadcastReceiver);\r
+ unregisterReceiver(this.TimeChangeBroadcastReceiver);\r
unregisterReceiver(this.screenOnReceiver);\r
unregisterReceiver(this.AtCallbackBroadcastReceiver);\r
batteryUtil.unregisterBroadReceiver();\r
private int mStheartRateInterval;\r
private int mTodayWeek;\r
private boolean mValue_isSilence;\r
+\r
+\r
+ private static SilentManager mSilentManger=null;\r
+\r
+ public static SilentManager getInstance(){\r
+ if (mSilentManger==null)\r
+ mSilentManger=new SilentManager();\r
+ return mSilentManger;\r
+ }\r
private PhoneStateListener phoneStateListener = new PhoneStateListener() {\r
public void onCallStateChanged(int var1, String var2) {\r
super.onCallStateChanged(var1, var2);\r