<orderEntry type="library" name="Gradle: com.kymjs.rxvolley:rxvolley:1.1.3@aar" level="project"/>\r
<orderEntry type="library" name="Gradle: io.reactivex:rxandroid:1.1.0@aar" level="project"/>\r
<orderEntry type="module" module-name="dNSCache"/>\r
+ <orderEntry type="module" module-name="dNSCache"/>\r
<orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK"/>\r
</component>\r
</module>\r
<action android:name="com.enqualcomm.support.startsrv" />
<action android:name="com.enqualcomm.support.ACTION_ALARM" />
<action android:name="com.enqualcomm.support.HEART_ALARM" />
+ <action android:name="com.enqualcomm.support.ANTI_ALARM" />
+ <action android:name="com.enqualcomm.support.TEMP_ALARM" />
</intent-filter>
</service>
<service android:name=".CoreService$InnerService" />
import com.enqualcomm.support.utils.SharPreferenceUtil;\r
import com.enqualcomm.support.utils.TimeUtil;\r
import com.enqualcomm.support.utils.Util;\r
+import com.sina.util.dnscache.log.FileUtil;\r
\r
import org.json.JSONException;\r
import org.json.JSONStringer;\r
\r
+import java.io.File;\r
import java.util.concurrent.TimeUnit;\r
\r
import static com.enqualcomm.support.utils.Util.getSystemProperties;\r
public static final int GPSLocationTimeoutInSeconds=50;\r
public static final int WiFiLocationTimeoutInSeconds=12;\r
\r
+ public static String c43_branch_name="none";\r
+\r
+ public static boolean noSMSNotifyDialog=false;\r
+ public static boolean noPushTxtNotifyDialog=false;\r
+ public static boolean noVoiceNotifyDialog=false;\r
+\r
static {\r
\r
}\r
}\r
\r
\r
+ public static double getTempAdjustValue(){\r
\r
+ String tmpstr=FileUtil.readFileLine(new File("/productinfo/temp_adjust_37.txt"));\r
+\r
+ double tmp=0.0f;\r
+\r
+ if (tmpstr==null || tmpstr.isEmpty())\r
+ {\r
+ tmpstr="0.0";\r
+ }\r
+ tmp=Double.valueOf(tmpstr);\r
+\r
+ ICLogger.i("get Temperature Adjust Value from /productinfo/temp_adjust_37.txt , value="+tmpstr);\r
+ return tmp;\r
+\r
+ }\r
\r
\r
public static void setAlarmCycle(Context context, int cycle){\r
\r
\r
public static int getHeartBeatCycle(Context context){\r
- return SharPreferenceUtil.getPrefInt(context,KeyHeartBeatCycle,6);\r
+ return SharPreferenceUtil.getPrefInt(context,KeyHeartBeatCycle,3);\r
}\r
\r
public static void setHeartBeatCycle(Context context,int cycle){\r
ret=true;\r
\r
do_broadCast_message_no_indication = ret;\r
+\r
+ c43_branch_name=Util.getSystemProperties("persist.sys.c43.branch");\r
+\r
+ if ((c43_branch_name.equals("l03")) ||(c43_branch_name.equals("l05"))){\r
+ noPushTxtNotifyDialog=true;\r
+ noSMSNotifyDialog=true;\r
+ noVoiceNotifyDialog=true;\r
+ }\r
+\r
}\r
public static boolean isUsingCustomServer=false;\r
\r
public static final int EXIT_SILENT_MODE = 213;\r
\r
public static final String FLAG = "flag";\r
- \r
+\r
+ public static final String ANTI_ALARM = "com.enqualcomm.support.ANTI_ALARM";\r
+ public static final String TEMP_ALARM = "com.enqualcomm.support.TEMP_ALARM";\r
public static final String HEART_ALARM = "com.enqualcomm.support.HEART_ALARM";\r
- \r
+\r
public static final int IDLE_MODE_CHANGED = 102;\r
\r
public static final int INIT_SERVER_OK = 216;\r
import static com.enqualcomm.support.Constants.ACTION_LOCATION_ALARM;\r
import static com.enqualcomm.support.Constants.ACTION_SEND_EMEGENCY_LOCATION_START;\r
import static com.enqualcomm.support.Constants.ACTION_SEND_EMEGENCY_LOCATION_STOP;\r
+import static com.enqualcomm.support.Constants.ANTI_ALARM;\r
import static com.enqualcomm.support.Constants.HEART_ALARM;\r
import static com.enqualcomm.support.Constants.KEY_SAVE_STEP_COUNT;\r
import static com.enqualcomm.support.Constants.KEY_STEP_COUNT;\r
import static com.enqualcomm.support.Constants.STEP_COUNT_ALARM_ACTION;\r
+import static com.enqualcomm.support.Constants.TEMP_ALARM;\r
import static com.enqualcomm.support.bean.ICLocation.*;\r
\r
\r
resetStepCount();\r
}\r
\r
+ Config.setHeartBeatCycle(this,3);\r
//初始化ServerHeartBeat Cycle\r
Config.loadHearBeatSetting(runtime);\r
//初始化PPG,LocationMod,LocationCycle\r
Config.loadCustomServerAddr(this);\r
Config.loadServerSettings(runtime);\r
\r
+ //初始化消息相关配置\r
Config.LoadMessageConfigs();\r
\r
\r
+ //初始化温度测试相关参数\r
+ runtime.temperature_adjustValue=Config.getTempAdjustValue();\r
+\r
+\r
this.connectionServiceChain.processAttach(this.connection, this.runtime);\r
this.invokeHandlerServiceChain.processAttach(this.connection, this.runtime);\r
// setAlarm(alarmCycle);\r
is_allowed_in_sleep_mode = 1;\r
setWakeAlarm();\r
return Service.START_STICKY;\r
+ } else if (ANTI_ALARM.equals(paramIntent.getAction())) {\r
+\r
+ if (this.mKeepAlive != null) {\r
+\r
+ if (connection.isServerConnected() && runtime.isServerProtocolConnected()) {\r
+ //测试是否佩戴\r
+\r
+ }\r
+ setAntiAlarm();\r
+ if (Config.LOG_TOFILE)\r
+ ICLogger.logToFile("alarmCycle", "ANTI_ALARM alarmCycle ");\r
+ return Service.START_STICKY;\r
+ }\r
+ } else if (TEMP_ALARM.equals(paramIntent.getAction())) {\r
+\r
+ if (this.mKeepAlive != null) {\r
+\r
+ if (connection.isServerConnected() && runtime.isServerProtocolConnected()) {\r
+ //测试温度并上报\r
+\r
+ }\r
+ setTempAlarm();\r
+ if (Config.LOG_TOFILE)\r
+ ICLogger.logToFile("alarmCycle", "TEMP_ALARM alarmCycle ");\r
+ return Service.START_STICKY;\r
+ }\r
} else if (HEART_ALARM.equals(paramIntent.getAction())) {\r
if (this.mKeepAlive != null) {\r
\r
\r
// AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1, HEART_ALARM);\r
}\r
+ public void setAntiAlarm(){\r
+// int mod=runtime.getLocationInstance().getWorkingMod();\r
+ StringBuilder sb=new StringBuilder();\r
+ int cycle=runtime.anti_test_cycle;\r
+\r
+ //心跳指令默认设置为3分钟\r
+ AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,cycle, ANTI_ALARM);\r
+ sb.append(" setHeartAlarm "+ANTI_ALARM+", cycle "+cycle);\r
+// locationClient.triggerLocationProcess();\r
+ ICLogger.i(sb.toString());\r
+ FileOutputUtil.fileOutput(runtime.getCacheDir(),"alarmCycle",sb.toString());\r
\r
+// AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1, HEART_ALARM);\r
+ }\r
+ public void setTempAlarm(){\r
+// int mod=runtime.getLocationInstance().getWorkingMod();\r
+ StringBuilder sb=new StringBuilder();\r
+ int cycle=runtime.temp_test_Cycle;\r
+\r
+ //心跳指令默认设置为3分钟\r
+ AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,cycle, TEMP_ALARM);\r
+ sb.append(" setHeartAlarm "+TEMP_ALARM+", cycle "+cycle);\r
+// locationClient.triggerLocationProcess();\r
+ ICLogger.i(sb.toString());\r
+ FileOutputUtil.fileOutput(runtime.getCacheDir(),"alarmCycle",sb.toString());\r
+\r
+// AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1, HEART_ALARM);\r
+ }\r
public void setUpLocationDataAlarm(long paramLong) {\r
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);\r
Intent intent = new Intent(this, CoreService.class);\r
import java.util.Locale;\r
\r
public class Runtime {\r
- public int SignalStrength;\r
+\r
+ public int temp_test_Cycle=30;\r
+ public int anti_test_cycle=30;\r
+\r
+ public int SignalStrength;\r
+\r
\r
private String battery="000";\r
\r
return gpsp;\r
}\r
\r
-\r
- public String HardwareInfo() {\r
- return "SC9820E C41 V1.0";\r
- }\r
-\r
- public String BuildVersion() {\r
- return "C41-GW-V0.0.1";\r
- }\r
-\r
-\r
-\r
- /* AP03 心跳包 */\r
-\r
//暂时没有实现此功能\r
public String getGPSLocationStarNums() {\r
return "000";\r
\r
\r
\r
+ public double temperature_adjustValue=0.0f;\r
+\r
public boolean isGPSFixed(){\r
return (gpsp.getLocationStat() == ICLocation.LOCATION_STAT.LOCATION_FIXED);\r
}\r
}\r
return sb.toString();\r
}\r
- /* AP01 定位 end */\r
+\r
+\r
\r
}\r
\r
Contact param2Contact = new Contact(CATEGORY_GROUP, (mRuntime.getContextProxy()).context.getResources().getString(R.string.all_group), Contact.GROUP_ALL);\r
int i = mRuntime.getContextProxy().getTelephonyManager().getCallState();\r
if (!mRuntime.getBatteryLow() && 1 != i && 2 != i) {\r
- Intent intent = new Intent();\r
-\r
if (Config.do_broadCast_message_no_indication)\r
{\r
\r
ICLogger.d(Constants.ACTION_MESSAGE_RECEIVED+" "+paramStringMessage.isFromCache());\r
//广播 voice消息\r
- intent = new Intent();\r
+ Intent intent = new Intent();\r
intent.setAction(Constants.ACTION_MESSAGE_RECEIVED);\r
intent.putExtra(Constants.KEY_MESSAGE_TYPE,"voice");\r
intent.putExtra(Constants.KEY_MESSAGE_FROM,"广播消息");\r
intent.putExtra(Constants.KEY_MESSAGE_URL,paramStringMessage.isFromCache());\r
\r
// playVoice(context,paramStringMessage.isFromCache());\r
+ context.sendBroadcast(intent);\r
+ }\r
+\r
+ if (Config.noVoiceNotifyDialog==false) {\r
\r
- }else {\r
+ Intent intent = new Intent();\r
//显示提示窗口\r
intent.setAction(DIALOG_ACTION);\r
intent.putExtra("contact", (Parcelable) param2Contact);\r
+ context.sendBroadcast(intent);\r
}\r
- context.sendBroadcast(intent);\r
+\r
}\r
}\r
});\r
return true;\r
+ }else if ("findDev".equals(paramStringMessage.cmd())) {\r
+ Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+ public void call(Long param1Long) {\r
+ final Context context = (Deliver.this.mRuntime.getContextProxy()).context;\r
+\r
+ Intent intent = new Intent();\r
+ ICLogger.d(Constants.ACTION_MESSAGE_RECEIVED+" "+paramStringMessage.isFromCache());\r
+ //显示提示窗口\r
+ intent.setAction(DIALOG_ACTION);\r
+ intent.putExtra("findDev", "Find Device");\r
+ context.sendBroadcast(intent);\r
+ }\r
+ });\r
+\r
}\r
\r
\r
import android.util.Log;\r
\r
\r
+import com.enqualcomm.support.Config;\r
import com.enqualcomm.support.ICContentProvider;\r
import com.enqualcomm.support.bean.Alarm;\r
import com.enqualcomm.support.bean.NoticeContent;\r
if (msgType==0){\r
Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
public void call(Long param1Long) {\r
- Intent intent = new Intent();\r
- intent.setAction(DIALOG_ACTION);\r
- intent.putExtra("pushtxt", msg);\r
- _context.sendBroadcast(intent);\r
+ if(Config.noPushTxtNotifyDialog==false) {\r
+ Intent intent = new Intent();\r
+ intent.setAction(DIALOG_ACTION);\r
+ intent.putExtra("pushtxt", msg);\r
+ _context.sendBroadcast(intent);\r
+ }\r
}\r
});\r
}else{\r
Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
public void call(Long param1Long) {\r
- Intent intent = new Intent();\r
- intent.setAction(DIALOG_ACTION);\r
- intent.putExtra("sms", msg);\r
- _context.sendBroadcast(intent);\r
+ if(Config.noSMSNotifyDialog==false) {\r
+ Intent intent = new Intent();\r
+ intent.setAction(DIALOG_ACTION);\r
+ intent.putExtra("sms", msg);\r
+ _context.sendBroadcast(intent);\r
+ }\r
}\r
});\r
}\r
.append(" [").append(runtime.getSignalStrength()).append(",").append(runtime.getSignalInfo()).append("] ")\r
.append(runtime.IMEI())\r
.append("\n Srv [").append(runtime.getHost()).append(":").append(runtime.getPort()).append("]").append(KeepAlive.isConnected).append(" , HBcycle ").append(runtime.getHeartBeatCycle())\r
- .append("\n ServerConnected is ").append(runtime.isServerProtocolConnected())\r
+ .append("\n ServerConnected is ").append(runtime.isServerProtocolConnected()).append(",Temp ").append(ICJniUtils.getTemperature()-runtime.temperature_adjustValue)\r
.append(" \n Bat ").append(runtime.getBattery()).append(",").append(runtime.getBatteryVotage())\r
.append(" charged ").append(runtime.isPowerConnected())\r
.append(" StepCount ").append(runtime.getTotalStepCount())\r
.append(",P").append(runtime.getHRS().getPPG())\r
.append(",H").append(runtime.getHRS().getBPH())\r
.append(",L").append(runtime.getHRS().getBPL())\r
+ .append(",T").append(ICJniUtils.getTemperature()-runtime.temperature_adjustValue)\r
.append(",").append(runtime.getHRS().getTestTime()).append("]")\r
.toString();\r
}\r
String pkgver=DeviceInfoUtil.getSWVersionDisplayName();\r
String imei=runtime.IMEI();\r
String actionUrl = "http://"+server+":"+port + "/UploadFile.jsp?product=" + product + "&pkgver="+ pkgver + "&imei="+ imei+"&logtime="+logtime;\r
+\r
+ ICLogger.i("url="+actionUrl+"\nfile="+zipfile);\r
return upLoadFile(actionUrl, new File(zipfile));\r
\r
}\r
\r
int statusCode = con.getResponseCode();\r
String msg=con.getResponseMessage();\r
- Log.e(TAG,msg);\r
+ ICLogger.i(msg);\r
if (statusCode == 200) {\r
result = true;\r
}\r
}).create();\r
mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);\r
mCustomDialog.show();\r
+ } else if (app_id ==5) {\r
+ tmpDialog = this.mDialog.setTitle(context.getString(R.string.findDev)).setApp(1);\r
+ StringBuilder var7 = new StringBuilder();\r
+ var7.append(msg);\r
+ mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() {\r
+ public void onClick(DialogInterface var1, int var2) {\r
+ var1.dismiss();\r
+ VibrateUtil.getInstance(context).VibrateOn(false);\r
+ stopmediaplayer();\r
+ }\r
+ }).create();\r
+ mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);\r
+ mCustomDialog.show();\r
}\r
}\r
- \r
+ private void playFindDevVoice(Context context){\r
+\r
+ if (this.mAudioService == null)\r
+ this.mAudioService = new AudioService();\r
+\r
+ this.mAudioService.play(context.getAssets(), "Campus_Life.ogg");\r
+\r
+ }\r
+ private void stopmediaplayer(){\r
+ if (this.mAudioService != null)\r
+ this.mAudioService.stop();\r
+ }\r
private void playNotificationVoice(Context paramContext) {\r
if (this.mAudioService == null)\r
this.mAudioService = new AudioService(); \r
VibrateUtil.getInstance(paramContext).VibrateOn(true);\r
}\r
\r
+ this.screenOn(paramContext);\r
+ }\r
+ }else if (paramIntent.hasExtra("findDev")) {\r
+ String finddevtxt = paramIntent.getStringExtra("findDev");\r
+ SharPreferenceUtil.getPrefBoolean(paramContext, "key_is_resume", false);\r
+ isSilence = SharPreferenceUtil.getPrefBoolean(paramContext, "KEY_ISSILENCE", false);\r
+ if (finddevtxt != null && !isSilence) {\r
+ if (!DeviceInfoUtil.isTopActivity(paramContext)) {\r
+ this.initMyDialog(paramContext, null, 5,finddevtxt);\r
+ this.playFindDevVoice(paramContext);\r
+ VibrateUtil.getInstance(paramContext).VibrateOn(true);\r
+\r
+ }\r
+\r
this.screenOn(paramContext);\r
}\r
}\r
//连接
if (socketStatus == SocketStatus.DIS_CONNECT || socketStatus == SocketStatus.DIS_CONNECT_BY_SERVERSIDE) {
try {
+ Thread.sleep(10);
if (selectionKey != null) selectionKey.cancel();
socketChannel = SocketChannel.open();
socketChannel.configureBlocking(false);
connectStatus.onNext(SocketStatus.CONNECTED);
socketChannel.configureBlocking(false);
socketChannel.register(selector, SelectionKey.OP_READ);
- if (socketReconnectCallback!=null)
+ if (socketReconnectCallback != null)
socketReconnectCallback.onSuccess();
} catch (Exception e) {
isReadThreadAlive = false;
socketStatus = SocketStatus.DIS_CONNECT;
connectStatus.onNext(SocketStatus.DIS_CONNECT);
- ICLogger.log( TAG, "ReadThread:finish exception:" + e);
- e.printStackTrace();
- if (socketReconnectCallback!=null)
+ ICLogger.log(TAG, "ReadThread:finish exception:" + e);
+ e.printStackTrace();
+ if (socketReconnectCallback != null)
socketReconnectCallback.onFail("SocketConnectFail2");
}
ByteBuffer buf = ByteBuffer.allocate(10000);
int length = socketChannel.read(buf);
if (length <= 0) {
- ICLogger.log( TAG, "服务器主动断开链接!");
+ ICLogger.log(TAG, "服务器主动断开链接!");
isReadThreadAlive = false;
socketStatus = SocketStatus.DIS_CONNECT_BY_SERVERSIDE;
connectStatus.onNext(SocketStatus.DIS_CONNECT_BY_SERVERSIDE);
- if (socketReconnectCallback!=null)
+ if (socketReconnectCallback != null)
socketReconnectCallback.onFail("SocketConnectFail3");
} else {
- ICLogger.log( TAG, "readSubject:msg!"+ "length:" + length);
+ ICLogger.log(TAG, "readSubject:msg!" + "length:" + length);
byte[] bytes = new byte[length];
for (int i = 0; i < length; i++) {
bytes[i] = buf.get(i);
}
- if (socketReadCallback!=null)
+ if (socketReadCallback != null)
socketReadCallback.onRecvMsg(bytes);
readSubject.onNext(bytes);
}
connectStatus.onNext(SocketStatus.DIS_CONNECT);
ICLogger.log( TAG, "ReadThread:read exception :" + e);
e.printStackTrace();
+
if (socketReconnectCallback!=null)
socketReconnectCallback.onFail("SocketConnectFail4");
\r
/*获取血氧值*/\r
public static native int getSPO2();\r
+\r
+\r
+ public static native double getTemperature();\r
}\r
BP88,//查找手表\r
AP89,\r
BP89,//心率血压阀值设置\r
+ APTE,\r
+ BPTE,//体温间隔设置\r
+ APTP,\r
+ BPTP,//体温上行\r
UNKNOWN_CMD,\r
}\r
\r
cmdMap.put(CMD_TYPE.BP88, "BP88");\r
cmdMap.put(CMD_TYPE.AP89, "AP89");\r
cmdMap.put(CMD_TYPE.BP89, "BP89");\r
+ cmdMap.put(CMD_TYPE.APTE, "APTE");\r
+ cmdMap.put(CMD_TYPE.BPTE, "BPTE");\r
}\r
\r
\r
\r
public static String AP03(Runtime ds) {\r
//示例数据:IWAP03,06000908000102,5555,30# IWAP03,000000null00000,0,0#\r
+ //IW: 标识符\r
+ //AP03:命令字\r
+ //设备在静止时,可以通过该指令与平台保持连接和解决静态漂移\r
+ //06000908000102:\r
+ //060为GSM信号,\r
+ //009为参与定位的卫星数,\r
+ //080为电池电量,\r
+ //0 为保留位,\r
+ //01为设防状态,此处由两位十六进制表示,无取值时为 00 ,长度必需为两位,一共 8个bit 表示8种状态,各bit定义如下:(未列出的为当前未使用, 1表示有效 ,0 表示无效)\r
+ //Bit0 设防状态<手表无效>\r
+ //Bit1 为 1 表示夜灯为开,为0 夜灯为 关\r
+ //02为工作模式 ,(设防,工作模式如果为00,则代表无或未设置)\r
+ //5555: 计步步数,每次到达 9999 后重 0 开始计 (此处 9999 为示例,可以为2字节int 然后溢出归零)\r
+ //30: 翻滚次数\r
return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP03)).append(CMDSPLIT).append(String.format("%03d",abs(ds.getSignalStrength())))\r
.append(ds.getGPSLocationStarNums()).append(ds.getBattery()).append("0")\r
.append(ds.getProtection()).append(ds.getWorkModeStr()).append(CMDSPLIT)\r
}\r
\r
}\r
+\r
+ //体温间隔测量 (后台测试体温)(下行协议号:BPTE,响应:APTE)\r
+ public static String APTE(String index,int freq){\r
+\r
+ //设备响应: IWAPTE,080835,60#\r
+ //080835:指令流水号\r
+ //1:表示设备接受数据成功,0表示设备接受数据失败\r
+ return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APTE))\r
+ .append(CMDSPLIT).append(index)\r
+ .append(CMDSPLIT).append(freq)\r
+ .append(CMDEND).toString();\r
+ }\r
+\r
+ public void handleBPTE(String cmd,Connection connection){\r
+\r
+ //示例:\r
+ //IWBPTE,353456789012345,080835,60#\r
+ //说明:\r
+ //IW:标识符\r
+ //BPTE : 命令字符\r
+ //353456789012345:IMEI号,设备唯一ID\r
+ //080835 :指令流水号\r
+ //60 : 上传间隔,单位分钟(60分钟上传一次体温,终端收到后立即开始测量一次并重置定时器)\r
+ String[] list=cmd.split(CMDSPLIT);\r
+ if (list.length==4){\r
+ String index=list[2];\r
+ String freqstr=list[3];\r
+ int freq=Integer.valueOf(freqstr);\r
+ connection.send(genStringMessage("APTE",APTE(index,freq)));\r
+ ICLogger.i("收到服务器指令:测量体温 "+freq+"分钟一次。");\r
+ }else{\r
+ ICLogger.i("BP89 format error!");\r
+ }\r
+\r
+ }\r
+\r
+\r
+ //体温上行(上行协议号:APTP,响应:BPTP)\r
+ public static String APTP(double temperature){\r
+\r
+ //设备: IWAPTP,36.3,33,132#\r
+ //IW:标识符\r
+ //APTP : 命令字符\r
+ //35.3:测量体温 (摄氏度)\r
+ //33,132:温补用的参数,此处不用,可以用0 来代替。\r
+ return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APTP))\r
+ .append(CMDSPLIT).append(String.format("%1$.2f",temperature))\r
+ .append(CMDSPLIT).append(0).append(CMDSPLIT).append(0)\r
+ .append(CMDEND).toString();\r
+ }\r
+\r
+ public void handleBPTP(){\r
+\r
+ ICLogger.d("BPTP 服务器收到体温数据!");\r
+\r
+ }\r
+\r
public boolean handleCmd(CMD_TYPE type, String cmd) {\r
\r
//普通非二进制命令用此函数处理\r
//心率/血压阀值\r
handleBP89(cmd,mConnection);\r
break;\r
+\r
+ case BPTE: //设置测试体温\r
+ handleBPTE(cmd,mConnection);\r
+ break;\r
+\r
+ case BPTP:\r
+ handleBPTP();\r
+ break;\r
}\r
\r
return ret;\r
<string name="sms_notify">您有新短消息!</string>
<string name="hht_call_end">的未接来电</string>
+
<string name="hht_call_start">您有</string>
<string name="hht_misscall_call">来电提醒</string>
+ <string name="findDev">查找设备!</string>
+
<string name="hwpush_ability_value">successRateAnalytics</string>
<string name="hwpush_cancel">Cancel</string>
-#Wed Jun 17 23:32:50 CST 2020\r
-VERSION_CODE=423\r
+#Wed Jun 24 22:37:19 CST 2020\r
+VERSION_CODE=425\r
package com.sina.util.dnscache.log;
+import java.io.BufferedInputStream;
import java.io.BufferedReader;
+import java.io.DataInputStream;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public static String getSDPath() {
return Environment.getExternalStorageDirectory().getPath();
}
-
+ public static String readFileLine(File file) {
+ DataInputStream dis = null;
+ try {
+ if (!file.exists()) {
+ file.createNewFile();
+ }
+ dis = new DataInputStream(new FileInputStream(file));
+ String tmp=dis.readLine();
+ return tmp;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
/**
* 写文件内容,一次只写一行
*