1# IActivityInterface 2 3 4## 概述 5 6定义对行为识别进行基本操作的接口。 7 8接口包含注册回调函数,取消注册回调函数,获取设备支持的行为类型,获取当前设备的行为类型,订阅和取消订阅行为事件,获取设备缓存的行为事件。 9 10**相关模块:**[HdiActivityRecognition](_hdi_activity_recognition.md) 11 12 13## 汇总 14 15 16### Public 成员函数 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [RegisterActRecognitionCallback](#registeractrecognitioncallback) ([in] [IActivityChangedCallback](interface_i_activity_changed_callback.md) callbackObj) | 注册回调函数。 | 21| [UnregisterActRecognitionCallback](#unregisteractrecognitioncallback) ([in] [IActivityChangedCallback](interface_i_activity_changed_callback.md) callbackObj) | 取消注册回调函数。 | 22| [GetSupportActivity](#getsupportactivity) ([out] String[] activity) | 获取设备支持的行为类型。 | 23| [GetCurrentActivity](#getcurrentactivity) ([out] struct [ActRecognitionEvent](_act_recognition_event.md)[] event) | 获取当前的行为事件。 | 24| [EnableActRecognitionEvent](#enableactrecognitionevent) ([in] int activity, [in] int eventType, [in] long maxReportLatencyNs, [in] int powerMode) | 订阅某个行为事件。 | 25| [DisableActRecognitionEvent](#disableactrecognitionevent) ([in] int activity, [in] int eventType) | 取消订阅某个行为事件。 | 26| [FlushActivity](#flushactivity) () | 数据刷新。 | 27 28 29## 成员函数说明 30 31 32### DisableActRecognitionEvent() 33 34``` 35IActivityInterface::DisableActRecognitionEvent ([in] int activity, [in] int eventType ) 36``` 37 38**描述** 39 40取消订阅某个行为事件。 41 42取消订阅某个之前订阅过的行为事件。 43 44**起始版本:** 3.2 45 46**参数:** 47 48| 名称 | 描述 | 49| -------- | -------- | 50| activity | 取消订阅的行为,参考[EnableActRecognitionEvent](#enableactrecognitionevent)接口的activity参数。 | 51| eventType | 事件类型,参考[ActRecognitionEventType](_hdi_activity_recognition.md#actrecognitioneventtype)定义。可以填充1(进入)或2(退出),也可以填充3(同时订阅进入和退出)。 | 52 53**返回:** 54 55如果操作成功,则返回0。 56 57如果操作失败,则返回负值。 58 59 60### EnableActRecognitionEvent() 61 62``` 63IActivityInterface::EnableActRecognitionEvent ([in] int activity, [in] int eventType, [in] long maxReportLatencyNs, [in] int powerMode ) 64``` 65 66**描述** 67 68订阅某个行为事件。 69 70订阅某个行为事件后,若该行为事件有发生,则会在一定时间内上报。 71 72**起始版本:** 3.2 73 74**参数:** 75 76| 名称 | 描述 | 77| -------- | -------- | 78| activity | 订阅的行为,通过[GetSupportActivity](#getsupportactivity)得到设备支持的所有行为,然后将行为列表中需要订阅的行为下标作为参数填充。 | 79| eventType | 事件类型,参考[ActRecognitionEventType](_hdi_activity_recognition.md#actrecognitioneventtype)定义。可以填充1(进入)或2(退出),也可以填充3(同时订阅进入和退出)。 | 80| maxReportLatencyNs | 最大上报时间间隔,单位是纳秒。若该时间间隔内有订阅的行为事件发生,则会上报。若存在多个订阅的行为,取最小的时间间隔。 | 81| powerMode | 功耗模式。参考[ActRecognitionPowerMode](_hdi_activity_recognition.md#actrecognitionpowermode)定义。 | 82 83**返回:** 84 85如果操作成功,则返回0。 86 87如果操作失败,则返回负值。 88 89 90### FlushActivity() 91 92``` 93IActivityInterface::FlushActivity () 94``` 95 96**描述** 97 98数据刷新。 99 100刷新设备缓存的所有行为事件并上报。 101 102**起始版本:** 3.2 103 104**返回:** 105 106如果操作成功,则返回0。 107 108如果操作失败,则返回负值。 109 110 111### GetCurrentActivity() 112 113``` 114IActivityInterface::GetCurrentActivity ([out] struct ActRecognitionEvent[] event) 115``` 116 117**描述** 118 119获取当前的行为事件。 120 121在调用该接口前,必须先要调用{\@Link EnableActRecognitionEvent}接口对行为进行使能。 122 123**起始版本:** 3.2 124 125**参数:** 126 127| 名称 | 描述 | 128| -------- | -------- | 129| event | 返回当前设备的行为事件,可能有多个行为共存,详见[ActRecognitionEvent](_act_recognition_event.md)。 | 130 131**返回:** 132 133如果操作成功,则返回0。 134 135如果操作失败,则返回负值。 136 137 138### GetSupportActivity() 139 140``` 141IActivityInterface::GetSupportActivity ([out] String[] activity) 142``` 143 144**描述** 145 146获取设备支持的行为类型。 147 148**起始版本:** 3.2 149 150**参数:** 151 152| 名称 | 描述 | 153| -------- | -------- | 154| activity | 参数类型为字符串,输出设备支持的行为类型。 包括:"inVehicle" 、"onBicycle"、"walking"、"running"、"still"、"fast_walking"、"high_speed_rail" "unknown"、"elevator"、"relative_still"、"walking_handhold"、"lying_posture"、"plane"、"metro"等。对应[ActRecognitionEventType](_hdi_activity_recognition.md#actrecognitioneventtype)中的类型。 | 155 156**返回:** 157 158如果操作成功,则返回0。 159 160如果操作失败,则返回负值。 161 162 163### RegisterActRecognitionCallback() 164 165``` 166IActivityInterface::RegisterActRecognitionCallback ([in] IActivityChangedCallback callbackObj) 167``` 168 169**描述** 170 171注册回调函数。 172 173用户在获得订阅的行为事件或获取设备缓存的行为事件前,需要先注册该回调函数。数据会通过回调函数进行上报。 174 175**起始版本:** 3.2 176 177**参数:** 178 179| 名称 | 描述 | 180| -------- | -------- | 181| callbackObj | 要注册的回调函数,只需成功订阅一次,无需重复订阅。详见[IActivityChangedCallback](interface_i_activity_changed_callback.md)。 | 182 183**返回:** 184 185如果注册回调函数成功,则返回0。 186 187如果注册回调函数失败,则返回负值。 188 189 190### UnregisterActRecognitionCallback() 191 192``` 193IActivityInterface::UnregisterActRecognitionCallback ([in] IActivityChangedCallback callbackObj) 194``` 195 196**描述** 197 198取消注册回调函数。 199 200取消之前注册的回调函数。当不需要使用行为识别功能,或需要更换回调函数时,需要取消注册回调函数。 201 202**起始版本:** 3.2 203 204**参数:** 205 206| 名称 | 描述 | 207| -------- | -------- | 208| callbackObj | 要取消注册的回调函数,只需成功取消订阅一次,无需重复取消订阅。详见[IActivityChangedCallback](interface_i_activity_changed_callback.md)。 | 209 210**返回:** 211 212如果取消注册回调函数成功,则返回0。 213 214如果取消注册回调函数失败,则返回负值。 215