From 9bddd596cf8e239e5994f904f1fb801dd5451d18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rulong=20Chen=EF=BC=88=E9=99=88=E6=B1=9D=E9=BE=99=EF=BC=89?= Date: Fri, 9 Aug 2024 16:51:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=95=E6=93=8E=E6=8E=A5=E5=8F=A3=E9=87=8D?= =?UTF-8?q?=E6=9E=84=EF=BC=8C=E4=BF=AE=E6=94=B9=E7=9B=B8=E5=85=B3=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/InAppWebViewFlutterPlugin.ets | 9 ++++----- .../in_app_browser/InAppBrowserManager.ets | 20 +++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/InAppWebViewFlutterPlugin.ets b/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/InAppWebViewFlutterPlugin.ets index f46fbc74..c28f3682 100644 --- a/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/InAppWebViewFlutterPlugin.ets +++ b/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/InAppWebViewFlutterPlugin.ets @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +import { common } from '@kit.AbilityKit'; import { AbilityAware, AbilityPluginBinding, BinaryMessenger, Log } from '@ohos/flutter_ohos'; import { FlutterAssets, @@ -26,7 +26,6 @@ import FlutterWebViewFactory from './webview/FlutterWebViewFactory'; import { InAppWebViewManager } from './webview/InAppWebViewManager'; import InAppBrowserManager from './in_app_browser/InAppBrowserManager'; import common from '@ohos.app.ability.common'; -import { UIAbility } from '@kit.AbilityKit'; const TAG = "InAppWebViewFlutterPlugin"; @@ -40,17 +39,17 @@ export default class InAppWebViewFlutterPlugin implements FlutterPlugin, Ability public inAppWebViewManager: InAppWebViewManager | null = null; public inAppBrowserManager: InAppBrowserManager | null = null; public applicationContext: common.Context | null = null - public uiAbility: UIAbility | null = null; + public context: common.UIAbilityContext | null = null; constructor() { } onAttachedToAbility(binding: AbilityPluginBinding): void { - this.uiAbility = binding.getAbility() + this.context = binding.getAbilityContext() } onDetachedFromAbility(): void { - this.uiAbility = null; + this.context = null; } getUniqueClassName(): string { diff --git a/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/in_app_browser/InAppBrowserManager.ets b/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/in_app_browser/InAppBrowserManager.ets index b75e0521..3faaefc6 100644 --- a/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/in_app_browser/InAppBrowserManager.ets +++ b/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/in_app_browser/InAppBrowserManager.ets @@ -18,7 +18,7 @@ import ChannelDelegateImpl from '../types/ChannelDelegateImpl'; import { util } from '@kit.ArkTS'; import { Any, Log, MethodCall, MethodChannel } from '@ohos/flutter_ohos'; import { MethodResult } from '@ohos/flutter_ohos/src/main/ets/plugin/common/MethodChannel'; -import { UIAbility, Want } from '@kit.AbilityKit'; +import { Want, common } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; const LOG_TAG = "InAppBrowserManager" @@ -41,17 +41,17 @@ export default class InAppBrowserManager extends ChannelDelegateImpl { public onMethodCall(call: MethodCall, result: MethodResult): void { switch (call.method) { case "open": - if (this.plugin != null && this.plugin.uiAbility != null) { - this.open(this.plugin.uiAbility, call.args as Map); + if (this.plugin != null && this.plugin.context != null) { + this.open(this.plugin.context, call.args as Map); result.success(true); } else { result.success(false); } break; case "openWithSystemBrowser": - if (this.plugin != null && this.plugin.uiAbility != null) { + if (this.plugin != null && this.plugin.context != null) { let url: string = call.argument("url") as string; - this.openWithSystemBrowser(this.plugin.uiAbility, url, result); + this.openWithSystemBrowser(this.plugin.context, url, result); } else { result.success(false); } @@ -61,20 +61,20 @@ export default class InAppBrowserManager extends ChannelDelegateImpl { } } - public open(uiAbility: UIAbility, args: Map) { + public open(context: common.UIAbilityContext, args: Map) { let want: Want = { - bundleName: uiAbility.context.abilityInfo.bundleName, + bundleName: context.abilityInfo.bundleName, abilityName: 'InAppBrowserAbility' }; - uiAbility.context.startAbility(want, (err: BusinessError) => { + context.startAbility(want, (err: BusinessError) => { if (err.code) { Log.e(LOG_TAG, `Failed to startAbility. Code: ${err.code}, message: ${err.message}`); } }); } - public openWithSystemBrowser(uiAbility: UIAbility, url: string, result: MethodResult): void { + public openWithSystemBrowser(context: common.UIAbilityContext, url: string, result: MethodResult): void { try { let want: Want = { action: 'ohos.want.action.viewData', @@ -82,7 +82,7 @@ export default class InAppBrowserManager extends ChannelDelegateImpl { uri: url } - uiAbility.context.startAbility(want, (err: BusinessError) => { + context.startAbility(want, (err: BusinessError) => { if (err.code) { Log.e(LOG_TAG, `Failed to startAbility. Code: ${err.code}, message: ${err.message}`); result.error(`Code: ${err.code}`, err.message, null); -- Gitee