handleAppEnterBackground method

void handleAppEnterBackground()

Implementation

void handleAppEnterBackground() async {
  CallKitUILog.i(
      _tag,
      'CallManager handleAppEnterBackground() '
      'callStatus = ${CallState.instance.selfUser.callStatus},'
      'currentPage = ${NECallKitNavigatorObserver.currentPage},'
      'isOpenFloatWindow = ${CallState.instance.isOpenFloatWindow},'
      'isIOSOpenFloatWindowOutOfApp = ${CallState.instance.isIOSOpenFloatWindowOutOfApp}');

  // 如果启用了应用外悬浮窗,且在通话中,则启动画中画
  if (Platform.isAndroid &&
      CallState.instance.enableFloatWindowOutOfApp &&
      CallState.instance.enableFloatWindow &&
      CallState.instance.selfUser.callStatus == NECallStatus.accept) {
    openFloatWindowWithPageState();
  }
  // 进入后台启动画中画
  if (Platform.isIOS &&
      CallState.instance.enableFloatWindowOutOfApp &&
      CallState.instance.enableFloatWindow &&
      CallState.instance.callType == NECallType.video &&
      CallState.instance.selfUser.callStatus == NECallStatus.accept) {
    final success = await NECallKitPlatform.instance.startPIP();
    CallState.instance.isIOSOpenFloatWindowOutOfApp = success;
    CallKitUILog.i(_tag,
        'CallManager handleAppEnterBackground: startPIP result = $success');
  }
}