Android BLE API On CharacterIsticChanged()从未触发过

2个帖子/ 0新
最后一篇
托马斯
离线
最后一次露面:5年11个月前
加入:2015-03-11 02:46
Android BLE API On CharacterIsticChanged()从未触发过

我是DA14560的新人
这是我想做的事情:
Android应用程序将值发送到DA14580,DA14580然后修改特征的值并发送返回Android应用程序的指示。Android应用程序使用指示读取相应的特性。

这里我有一个问题,根据Android SDK的说法,OnCharaMateChanged()应该调用Android应用程序时收到通知或指示,但它从未在我的场景中触发。
我以前先前启用了使用setCarmactisticNotification(特征,真实)的特征通知。
这是我的on特征突变()方法
@Override.
公共空白on特征(Bluetoothgatt Gatt,BluetoothGatt Characteristic特征){
Broadcassupdate(action_data_changed,特征);
log.d(标签,“通知!”);
}

这些是我的da14580特征设置代码:
在profile_task.c.中
静态int lowsppppp_create_db_req_handler(ke_msg_id_t const msgid,
struct lowspp_create_db_req const * param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
......
//添加val属性
status = attmdb_add_attribute(lowspp_env.lowspp_shdl,sizeof(uint8_t)* 30,// data size = 20 // hcasen添加14-10-10
ATT_UUID_128_LEN,(UINT8_T *)&LOWSPP_2_VAL.UUID,PERM(RD,启用)|perm(ind,启用)|perm(wr,启用),
&(val_hdl));

memcpy(lowspp_2_char.attr_hdl,&val_hdl,sizeof(uint16_t));

status = attmdb_att_set_value(char_hdl,sizeof(lowspp_2_char),(uint8_t *)&lowspp_2_char);
....
}

在个人资料中
struct att_char128_desc lowspppppppppppppppppppppppppppppppppppppppp_2_char = {att_char_prop_rd |att_char_prop_ind | att_char_prop_wr,
{0,0},
// {0xFB,0x34,0x9b,0x5f,0x80,0x00,0x00,0x80,0x00,0x10,0x00,0x00,0xe2,0x34,0x00,0x00}};/ * UUID * /
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x10,0x00,0x60,0x02,0xD0,0x18,0xD6}};

lowspp_upd_char2_req_handler()修改属性数据库并向Android应用程序发送指示

静态int lowsppp_upd_char2_req_handler(ke_msg_id_t const msgid,
struct lowsppp_upd_char2_req const * param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
UINT8_T status = prf_err_ok;

//检查提供的值
if(param-> conhdl == gapc_get_conhdl(lowspp_env.con_info.conidx))
{
//更新DB中的值
Attmdb_att_set_value(lowspp_env.lowspp_shdl + lowsppp_2_idx_val,
param-> len,(Uint8_t *)和param-> val);
//向对等设备发送指示
if((lowspp_env.feature&prf_cli_start_ind)))
{
prf_server_send_event((prf_env_struct *)&lowspp_env,true,
lowspp_env.lowsppp_shdl + lowspppp_2_idx_val);
}
}
别的
{
status = prf_err_invalid_param;
}

if(状态!= prf_err_ok)
{
lowspp_upd_char2_cfm_send(状态);
}

return(ke_msg_consumed);
}

如果你能帮助我,非常感谢

关键词:
设备:
je_dialog.
离线
最后一次露面:1个月1天前
职员
加入:2013-12-05 14:02
你好托马斯,团队之一

你好托马斯,其中一支球队正在看看,并将陷入困境。

BR JE_DIALOG.