startPPG();\r
}\r
break;\r
+ case 300: {\r
+ stopPPG();\r
+ }\r
+ break;\r
}\r
return false;\r
}\r
static heartRateStatus.HEARTRATE_WORKINGSTAT currentStat;\r
static int delayCount;\r
static int testCount;\r
+ static int notWaredCount;\r
private final int MAX_TESTTIMES=30000;//最大延迟测试时间为30秒\r
\r
\r
}\r
\r
\r
+ if (currentStat== heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_NOTWARED){\r
+ notWaredCount--;\r
+ if( notWaredCount <0){ //没有佩戴次数到限制后,停止检测\r
+ Logger.i("HEARTRATE_NOTWARED 超过时限,取消检测报告!");\r
+ stopPPG();\r
+ }\r
+ }\r
+\r
if (currentStat==heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_TEST_SUCCESS){\r
runtime.getHRS().setLastHeartrate(PPG,BPH,BPL);\r
delayCount--;\r
}\r
runtime.getHRS().setHeartrateStat(currentStat);\r
\r
+\r
+\r
+\r
testCount--;\r
if (testCount<0)\r
{\r
\r
}\r
\r
-\r
private void sendAndStopPPG(){\r
//结束和发送数据\r
mHandler.sendEmptyMessage(100);\r
public void startPPG(){\r
if (ICJniUtils.isPPGavailable()==1 && isTimerStarted==false) {\r
currentStat=heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_OPEN;\r
- delayCount=3;//检测成功后三秒发送数据\r
+ delayCount=4;//检测成功后4秒发送数据\r
+ notWaredCount=5; //初始化没有佩戴的检测次数5,连续5秒没有佩戴则取消检测\r
testCount=MAX_TESTTIMES;//测试MAX_TESTTIMES后没有结果也要强制退出\r
isTimerStarted=true;\r
ICJniUtils.enablePPG();\r