获取工作状态
读取设备当前的 WorkState。
前置条件
- 设备已连接。
- 设备支持
DeviceWorkStateAPI。
API 参考
框架
AIBuds.xcframework
导入
- Swift
- Objective-C
import AIBuds#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>协议
- Swift
- Objective-C
/// The protocol for device work state API.
protocol DeviceWorkStateAPI: DeviceAPI {
/// The current working state of the device.
var workState: WorkState { get }
}/// The protocol for device work state API.
@protocol AIBudsDeviceWorkStateAPI <AIBudsDeviceAPI>
/// The current working state of the device.
@property(nonatomic, readonly) enum AIBudsWorkState workState;
@end属性
| 属性 | 类型 | 描述 |
|---|---|---|
workState | WorkState / AIBudsWorkState | 设备上报的当前工作状态。 |
返回值
workState 是同步只读属性,不返回复合状态模型。
使用示例
- Swift
- Objective-C
import AIBuds
guard let device = device as? DeviceWorkStateAPI else {
print("Device does not expose a work state")
return
}
let state = device.workState
print("Current work state: \(state.description)")#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>
id<AIBudsDeviceWorkStateAPI> device = (id<AIBudsDeviceWorkStateAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceWorkStateAPI)]) {
NSLog(@"Device does not expose a work state");
return;
}
NSLog(@"Current work state raw value: %ld", (long)device.workState);错误处理
该属性没有完成回调或错误结果。请处理协议不支持以及 unknown 或 reserved 枚举 case。
最佳实践
- 直接读取属性:不要将该 API 建模为异步状态请求。
- 将状态视为瞬时值:展示设备当前活动时重新读取。
- 处理所有枚举 case:工作状态涵盖连接、通话、播放、采集、传输、直播、OTA、关机和测试活动。
注意事项
WorkState是单一枚举值,不包含电池、充电、佩戴或播放字段。- SDK 未定义
WorkStatus结果模型或getWorkStatus方法。