EntryAbility.ets 1.23 KB

import { FlutterAbility, FlutterEngine } from '@ohos/flutter_ohos';
import { GeneratedPluginRegistrant } from '../plugins/GeneratedPluginRegistrant';
import { NativePigeonRegistrar } from '../native/NativePigeonRegistrar';
import { WeChatLoginBridge } from '../native/WeChatLoginBridge';
import { WeChatHostApi } from '../pigeon/WeChatApi';
import Want from '@ohos.app.ability.Want';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';

export default class EntryAbility extends FlutterAbility {
  private weChatLoginBridge?: WeChatLoginBridge;

  configureFlutterEngine(flutterEngine: FlutterEngine) {
    super.configureFlutterEngine(flutterEngine)
    GeneratedPluginRegistrant.registerWith(flutterEngine)
    NativePigeonRegistrar.register(
      flutterEngine.getDartExecutor()!.getBinaryMessenger()!,
      this.context,
    )
    this.weChatLoginBridge = new WeChatLoginBridge(this.context)
    WeChatHostApi.setup(
      flutterEngine.getDartExecutor()!.getBinaryMessenger()!,
      this.weChatLoginBridge,
    )
    this.weChatLoginBridge.handleWant(this.getWant())
  }

  onNewWant(want: Want, launchParams: AbilityConstant.LaunchParam): void {
    super.onNewWant(want, launchParams)
    this.weChatLoginBridge?.handleWant(want)
  }
}