diff --git a/example/ohos/entry/src/main/ets/entryability/EntryAbility.ets b/example/ohos/entry/src/main/ets/entryability/EntryAbility.ets index 18dc25efb..1cce8a049 100644 --- a/example/ohos/entry/src/main/ets/entryability/EntryAbility.ets +++ b/example/ohos/entry/src/main/ets/entryability/EntryAbility.ets @@ -67,18 +67,15 @@ export default class EntryAbility extends UIAbility implements FlutterBoostDeleg async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { hilog.info(0x0000, TAG, '%{public}s', 'Ability onCreate'); - FlutterManager.getInstance().pushUIAbility(this) } onDestroy(): void { hilog.info(0x0000, TAG, '%{public}s', 'Ability onDestroy'); - FlutterManager.getInstance().popUIAbility(this) } // Main window is created, set main page for this ability onWindowStageCreate(windowStage: window.WindowStage): void { hilog.info(0x0000, TAG, '%{public}s', 'Ability onWindowStageCreate'); - FlutterManager.getInstance().pushWindowStage(this, windowStage) let applicationInfo = ApplicationInfoLoader.load(this.context); const options: FlutterBoostSetupOptions = new FlutterBoostSetupOptionsBuilder() @@ -124,7 +121,6 @@ export default class EntryAbility extends UIAbility implements FlutterBoostDeleg // Main window is destroyed, release UI related resources onWindowStageDestroy(): void { hilog.info(0x0000, TAG, '%{public}s', 'Ability onWindowStageDestroy'); - FlutterManager.getInstance().popWindowStage(this) } // Ability has brought to foreground diff --git a/example/ohos/entry/src/main/ets/pages/FlutterUIComponent.ets b/example/ohos/entry/src/main/ets/pages/FlutterUIComponent.ets index 1515bafd9..e340fa239 100644 --- a/example/ohos/entry/src/main/ets/pages/FlutterUIComponent.ets +++ b/example/ohos/entry/src/main/ets/pages/FlutterUIComponent.ets @@ -1,3 +1,4 @@ +import { common } from '@kit.AbilityKit'; import Curves from '@ohos.curves' import hilog from '@ohos.hilog'; import { FlutterBoostEntry } from 'flutter_boost'; @@ -18,7 +19,7 @@ export struct FlutterUIComponent { async aboutToAppear() { hilog.info(0x0000, TAG, 'Component(#%{public}s) aboutToAppear===', this.uri); - this.flutterEntry = new FlutterBoostEntry(getContext(this), + this.flutterEntry = new FlutterBoostEntry(getContext(this) as common.UIAbilityContext, //!!!这里的uri、params这两个属性的名字必须跟example中的保持一致 !!! { uri: this.uri, params: this.params }, false, diff --git a/example/ohos/entry/src/main/ets/pages/FlutterUIDialog.ets b/example/ohos/entry/src/main/ets/pages/FlutterUIDialog.ets index cb00f9647..3b7d9d3a6 100644 --- a/example/ohos/entry/src/main/ets/pages/FlutterUIDialog.ets +++ b/example/ohos/entry/src/main/ets/pages/FlutterUIDialog.ets @@ -21,7 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ - +import { common } from '@kit.AbilityKit'; import Curves from '@ohos.curves' import hilog from '@ohos.hilog'; import { FlutterBoostEntry } from 'flutter_boost'; @@ -42,7 +42,8 @@ export struct FlutterUIDialog { async aboutToAppear() { hilog.info(0x0000, TAG, "aboutToAppear==="); - this.flutterEntry = new FlutterBoostEntry(getContext(this), this.routerOptions, /*isDialog*/true); + let context = getContext(this) as common.UIAbilityContext; + this.flutterEntry = new FlutterBoostEntry(context, this.routerOptions, /*isDialog*/true); await this.flutterEntry.aboutToAppear(); // The |aboutToAppear| method is called first, // followed by the |getFlutterView| method. diff --git a/example/ohos/entry/src/main/ets/pages/FlutterUIPage.ets b/example/ohos/entry/src/main/ets/pages/FlutterUIPage.ets index 7ec2cbdea..a7c76b218 100644 --- a/example/ohos/entry/src/main/ets/pages/FlutterUIPage.ets +++ b/example/ohos/entry/src/main/ets/pages/FlutterUIPage.ets @@ -21,7 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ - +import { common } from '@kit.AbilityKit'; import hilog from '@ohos.hilog'; import { FlutterBoostEntry } from 'flutter_boost'; import { FlutterPage, FlutterView } from '@ohos/flutter_ohos'; @@ -43,7 +43,8 @@ export struct FlutterUIPage { async aboutToAppear() { hilog.info(0x0000, TAG, "aboutToAppear==="); - this.flutterEntry = new FlutterBoostEntry(getContext(this), this.routerOptions, false, this.onPopCallback); + let context = getContext(this) as common.UIAbilityContext; + this.flutterEntry = new FlutterBoostEntry(context, this.routerOptions, false, this.onPopCallback); await this.flutterEntry.aboutToAppear(); // The |aboutToAppear| method is called first, // followed by the |getFlutterView| method. diff --git a/ohos/src/main/ets/components/containers/FlutterBoostEntry.ets b/ohos/src/main/ets/components/containers/FlutterBoostEntry.ets index 99bb31e7b..d1d21c15b 100644 --- a/ohos/src/main/ets/components/containers/FlutterBoostEntry.ets +++ b/ohos/src/main/ets/components/containers/FlutterBoostEntry.ets @@ -21,7 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ - +import { common } from '@kit.AbilityKit'; import { FlutterEntry, PlatformPlugin, } from '@ohos/flutter_ohos'; import { FlutterViewContainer } from './FlutterViewContainer'; import { LifecycleStage } from './Lifecycle'; @@ -39,14 +39,14 @@ export default class FlutterBoostEntry extends FlutterEntry implements FlutterVi private isAttached: boolean = false private platformPlugin?: PlatformPlugin | null private stage?: LifecycleStage; - private thisContext: Context; + private thisContext: common.UIAbilityContext; private routerOptions: ESObject; private isDialogMode: boolean; private routeStack: NavPathStack | null = null; private isStackPopping: boolean = false private onPopCallback?: (result: Record) => void; - constructor(context: Context, routerOptions: ESObject, isDialog?: boolean, onPop?: (result: Record) => void) { + constructor(context: common.UIAbilityContext, routerOptions: ESObject, isDialog?: boolean, onPop?: (result: Record) => void) { super(context); this.thisContext = context; @@ -338,7 +338,6 @@ export default class FlutterBoostEntry extends FlutterEntry implements FlutterVi if (!this.platformPlugin) { this.platformPlugin = this.providePlatformPlugin(this.getFlutterEngine()!); this.platformPlugin?.initWindow(); - this.platformPlugin?.setUIAbilityContext(this.getAbility().context); } }