uint32_t creationTime=0;
int ret = uapi_get_timestampe_ss(&creationTime);
//当前时间戳减去订阅通知时间戳3s以上的通知,才要求数据(过滤ios将所有未查看消息发过来)
- if(creationTime!=subscribe_notify_creationTime)
+ if(creationTime-subscribe_notify_creationTime>3)
ble_ancs_client_at_cmd_get_notify_att(conn_id, notify_src->notification_uid);
//
// memset(old_time_buf,0,64);
// memcpy_s(old_time_buf,64,new_msg_buf,64);
// printf("ble_ancs_client_notification_attr_rsp_cbk test 2\r\n");
- ancs_msg_index = message_data(notify_attr_rsp->notification_uid,0,title_buf,msg_buf,0);
- CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(ancs_msg_index);
+ message_data(notify_attr_rsp->notification_uid,0,title_buf,msg_buf,0);
+
//}
return ANCS_DATA_CONFIG_DIR;\r
}\r
\r
-void* message_data(int uid,int appid,char *title,char *msg,int hasCode)\r
+void message_data(int uid,int appid,char *title,char *msg,int hasCode)\r
{\r
\r
uint32_t timestampe = 0;\r
{\r
timestampe = 0;\r
}\r
- ancs_data_info_t *data= (ancs_data_info_t *)malloc(sizeof(ancs_data_info_t));\r
- if(data==NULL)\r
- return NULL;\r
- memset_s(data,sizeof(ancs_data_info_t),0,sizeof(ancs_data_info_t));\r
+ ancs_data_info_t data;\r
+ memset_s(&data,sizeof(ancs_data_info_t),0,sizeof(ancs_data_info_t));\r
\r
- data->appid=appid;\r
- memcpy_s(data->title,TITLE_BUF_LEN+1,title,strlen(title));\r
- memcpy_s(data->msg,MSG_BUF_LEN+1,msg,strlen(msg));\r
- data->uid=uid;\r
- data->time=timestampe;\r
- data->read=0;\r
- data->hasCode=hasCode;\r
+ data.appid=appid;\r
+ memcpy_s(data.title,TITLE_BUF_LEN+1,title,strlen(title));\r
+ memcpy_s(data.msg,MSG_BUF_LEN+1,msg,strlen(msg));\r
+ data.uid=uid;\r
+ data.time=timestampe;\r
+ data.read=0;\r
+ data.hasCode=hasCode;\r
\r
- printf("messagedata make ok\r\n");\r
- return data;\r
+ CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(&data);\r
+ return ;\r
\r
- //read_message_data();\r
}\r
int uft8_check(char *chinese_string,int length)\r
{\r
return i;\r
}\r
\r
- void* ancs_msg_data =NULL;\r
\r
//安卓消息接收解析数据 //ANCS 2AE1\r
uint8_t jscheck_ancs(uint8_t *data)\r
// }\r
\r
printf("send message\r\n");\r
- ancs_msg_data = message_data(uid_t,appid_t,titleBuf,msgBuf,hasCode_t);\r
+ message_data(uid_t,appid_t,titleBuf,msgBuf,hasCode_t);\r
printf("send message ok\r\n");\r
\r
if(titleBuf != NULL){\r
value[17] = 1;\r
value[18] = Calculate_CRC(value,18);\r
sendBleData(value,19);\r
- if(ancs_msg_data)\r
- CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(ancs_msg_data);\r
}else{\r
value[17] = 0;\r
value[18] = Calculate_CRC(value,18);\r
void CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(void *data)\r
{\r
CustomEventPublish(TOPIC_EVENT_MESSAGE_UPDATA,(uint8_t*)data,sizeof(ancs_data_info_t));\r
- if(data)\r
- {\r
- free(data);\r
- data=NULL;\r
- }\r
- \r
}\r
\r
void type2AE1Data(uint8_t *buf_cmd,uint8_t *data,uint16_t datalen,uint8_t *totalData,uint8_t crcvalue)\r