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