第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

鴻蒙NEXT+Flutter開(kāi)發(fā)10-打開(kāi)網(wǎng)頁(yè)連接

鸿蒙NEXT+Flutter开发10-打开网页连接

在上一个章节中,《隐私政策》和《用户协议》两项内容,是通过打开外部连接,来呈现具体内容的。在Flutter中可以利用url_launcher插件来完成此项工作,OpenHarmony SIG组织对该插件做了鸿蒙NEXT系统的适配,接下来将详细讲解如何利用url_launcher插件打开网页连接。

1.安装url_launcher插件

在pubspec.yaml文件中,dependencies下面添加如下代码:

dependencies:
  url_launcher_platform_interface: ^2.0.3
  url_launcher:
    git:
      url: "https://gitee.com/openharmony-sig/flutter_packages.git"
      path: "packages/url_launcher/url_launcher"

然后同步插件,执行命令:

flutter pub get

2.导入url_launcher插件

在需要使用url_launcher插件的dart文件中,使用下面的代码导入插件:

import 'package:url_launcher_platform_interface/url_launcher_platform_interface.dart';

3.使用外部浏览器打开网页

直接使用外部浏览器打开网页是最简单的一种方式,代码如下:

final UrlLauncherPlatform _launcher = UrlLauncherPlatform.instance;
  Future<void> launchInBrowser(String url) async {
    if (!await _launcher.launch(
      url,
      useSafariVC: false,
      useWebView: false,
      enableJavaScript: false,
      enableDomStorage: false,
      universalLinksOnly: false,
      headers: <String, String>{},
    )) {
      throw Exception('Could not launch $url');
    }
  }

比如打开百度网站,可以使用下面的代码:

launchInBrowser("https://www.baidu.com");

4.使用系统WebView打开网页

dart代码与使用外部浏览器方式相似,参数略有不同。

final UrlLauncherPlatform _launcher = UrlLauncherPlatform.instance;
  Future<void> launchInWebViewWithJavaScript(String url) async {
    if (!await _launcher.launch(
      url,
      useSafariVC: true,
      useWebView: true,
      enableJavaScript: true,
      enableDomStorage: false,
      universalLinksOnly: false,
      headers: <String, String>{
        'harmony_browser_page': 'pages/LaunchInAppPage'
      },
    )) {
      throw Exception('Could not launch $url');
    }
  }

使用WebView的页面,是在鸿蒙NEXT侧创建的,页面路径为上面代码中的’pages/LaunchInAppPage’。
创建页面文件:ohos/entry/src/main/ets/pages/LaunchInAppPage.ets,其内容为:

import { InAppBrowser } from 'url_launcher_ohos/src/main/ets/components/plugin/InAppBrowser';

@Entry
@Component
struct LaunchInAppPage {

  build() {
    Column() {
      InAppBrowser()
    }
  }
}

在ohos/entry/src/main/resources/base/profile/main_pages.json中加入新建的页面,内容如下:

{
  "src": [
    "pages/Index",
    "pages/LaunchInAppPage"
  ]
}

在dart代码中通过下面的方式,就可以在App内打开百度网站:

launchInWebViewWithJavaScript("https://www.baidu.com");

通过上面的步骤,实现了打开网页连接的目的。共有两种实现方式,其中直接使用外部浏览器打开网页的方式,实现较简单,只需要写Flutter代码即可。第二种方式,在App内部使用WebView方式打开,可控性更高一些,复杂度也相应提高,需要在鸿蒙NEXT端建立页面来显示网页内容,该页面可以根据需要进行调整,提供了更高的可定制性。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消