1# 用户状态感知开发指导 2<!--Kit: Multimodal Awareness Kit--> 3<!--Subsystem: MultimodalAwareness--> 4<!--Owner: @dilligencer--> 5<!--Designer: @zou_ye--> 6<!--Tester: @judan--> 7<!--Adviser: @hu-zhiqiong--> 8 9UserStatus(用户状态感知)模块提供用户感知能力,可以感知到操作者特定状态,例如:检测用户年龄组。 10 11详细的接口介绍请参考[userStatus接口](../../reference/apis-multimodalawareness-kit/js-apis-awareness-userStatus.md)。 12 13## 感知用户年龄组开发指导 14### 场景介绍 15当应用需要获取用户年龄分类时,可以调用userStatus模块,例如判断设备具体操作者是儿童还是成年人。 16 17### 接口说明 18 19| 接口名 | 描述 | 20| ------------------------------------------------------------ | -------------------------------------- | 21| on(type:'userAgeGroupDetected',callback:Callback<UserClassification>):void; | 订阅年龄群组检测功能,检测结果通过callback返回。 | 22| off(type: 'userAgeGroupDetected', callback?: Callback<UserClassification>): void; | 取消年龄群组检测功能。 | 23 24### 约束与限制 25 26 - 此功能如果设备不支持,将返回801错误码。 27 28### 开发步骤 29 301. 导入模块。 31 32 ```ts 33 import { userStatus } from '@kit.MultimodalAwarenessKit'; 34 import { BusinessError } from '@kit.BasicServicesKit'; 35 import { Callback } from '@ohos.base'; 36 ``` 37 382. 定义回调,函数接受年龄群组检测结果。 39 40 ``` 41 let callback : Callback<userStatus.UserClassification> = (data : userStatus.UserClassification) => { 42 console.info('callback succeeded, ageGroup:' + data.ageGroup + ", confidence:" + data.confidence); 43 }; 44 ``` 45 463. 订阅年龄群组检测功能。 47 48 ``` 49 try { 50 userStatus.on('userAgeGroupDetected', callback); 51 console.info("on succeeded"); 52 } catch (err) { 53 let error = err as BusinessError; 54 console.error("Failed on and err code is " + error.code); 55 } 56 ``` 57 584. 取消订阅年龄群组检测功能。 59 60 ``` 61 try { 62 userStatus.off('userAgeGroupDetected'); 63 console.info("off succeeded"); 64 } catch (err) { 65 let error = err as BusinessError; 66 console.error("Failed off and err code is " + error.code); 67 } 68 ``` 69