subscribeHoldingHand method

  1. @override
void subscribeHoldingHand(
  1. SubscribeHoldingHandOptions options
)
override

订阅握持手状态变化

Implementation

@override
void subscribeHoldingHand(SubscribeHoldingHandOptions options) {
  _currentHoldingOptions = options;

  _holdingEventSubscription ??= holdingEventChannel
      .receiveBroadcastStream()
      .listen(
        (dynamic event) {
          final status = event is int
              ? HoldingHandStatus.fromCode(event)
              : HoldingHandStatus.unknown;
          _currentHoldingOptions?.onChange(status);
        },
        onError: (Object error, StackTrace? stackTrace) {
          _notifyFail(
            options,
            _errorMessage(error, 'subscribeHoldingHand:fail'),
          );
        },
      );

  methodChannel
      .invokeMethod<void>('subscribeHoldingHand')
      .then((_) => _notifySuccess(options, 'subscribeHoldingHand:ok'))
      .catchError((Object error, StackTrace stackTrace) {
        _notifyFail(
          options,
          _errorMessage(error, 'subscribeHoldingHand:fail'),
        );
      });
}