# 儿童手表表盘数据对接硅基动感 *v1.1* | 时间 | 修正内容 | 修正人 | | ----------------------- | --------------------- | ------ | | [2023-10-18](#20231018) | 添加新的广播目标 猎声 | kot | ### 示例: ```java Intent intent = new Intent(ACTION); intent.setPackage(PackageName); intent.putExtra("valid",1); intent.putExtra("time",3099924107678L); intent.putExtra("bg",6.5123456789d); intent.putExtra("trend",-2); intent.putExtra("ast",1); intent.putExtra("status",1); intent.putExtra("index",1); Context.sendBroadcast(intent); ``` ### 参数 : - ACTION - 类型:String 常量 - 区分大小写 - 值:com.sisensing.cgm.EXTRA_BG - PackageName - 类型:String 常量 - 区分大小写 - 值:com.sgtc.launcher (阿特奇) - valid(key->value) - 类型:int - 描述:数据是否有效,大于0且不等于0则数据有效,会被表盘收纳。 - time(key->value) - 类型:long - 描述:血糖的时间戳,单位毫秒。 - bg(key-value) - 类型:double - 描述:血糖值,单位mmol/L - trend(key->value) - 类型:int - 描述:血糖当前趋势(枚举值) - 2:较快上升,箭头向上 - 1:缓慢上升,箭头斜向上 - 0:平稳,箭头平指 - -1:缓慢下降,箭头斜向下 - -2:较快下降,箭头向下 - ast(key->value) - 类型:int - 描述:血糖报警状态 - 1:正常 - 2:传感器异常 - 3:温度过高 - 4:温度过低 - 5:血糖过高 - 6:血糖过低 - status(key->value) - 类型:int - 描述:设备状态 - 0:未启用 - 1:使用中 - 2:已停用 - 3:初始化 - 4:异常 - index(key->value) - 类型:int - 描述:当前血糖的笔数 ### 展示逻辑图: ![展示逻辑图](./%E8%A1%A8%E7%9B%98%E7%8A%B6%E6%80%81%E9%80%BB%E8%BE%91%E5%9B%BE.drawio.png "展示逻辑图") ### 对数据中时间的选择逻辑(不修改源数据) ![展示血糖时间](./%E6%95%B0%E6%8D%AE%E6%97%B6%E9%97%B4%E5%A4%84%E7%90%86%E9%80%BB%E8%BE%91.drawio.png) ### 正常数据展示的时间展示逻辑 ![展示时间](./%E6%AD%A3%E5%B8%B8%E6%95%B0%E6%8D%AE%E7%9A%84%E6%97%B6%E9%97%B4%E6%98%BE%E7%A4%BA%E9%80%BB%E8%BE%91.drawio.png) ### 初始化剩余时间计算(_**注意:其他状态应该把结束初始化时间设置为0**_) ![初始化时间计算](./%E5%88%9D%E5%A7%8B%E5%8C%96%E5%89%A9%E4%BD%99%E6%97%B6%E9%97%B4.drawio.png) ## 修正 ### 2023-10-18 添加新的广播目标 猎声。 packageName :info.nightscout.androidaps className:info.nightscout.androidaps.receivers.DataReceiver `示例:` ```java String packageName="info.nightscout.androidaps" String className="info.nightscout.androidaps.receivers.DataReceiver" Intent intent=new Intent() intent.setClassName(packageName,className) ...其他参数... sendBroadcast(intent) ```