Получение состояния работы
Получите текущее значение 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.
Рекомендации
- Читайте свойство напрямую: не представляйте этот API как асинхронный запрос состояния.
- Считайте состояние изменяемым: перечитывайте его перед отображением текущей активности.
- Обрабатывайте все варианты: состояния охватывают подключение, звонки, воспроизведение, съёмку, передачу, трансляцию, OTA, выключение и тестирование.
Примечания
WorkState— одно значение перечисления; оно не содержит данные о заряде, зарядке, ношении или воспроизведении.- SDK не определяет модель результата
WorkStatusили методgetWorkStatus.