欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開發(fā)之Flutter與webview通信橋梁實(shí)現(xiàn)

 更新時(shí)間:2022年06月08日 10:49:53   作者:Jenk  
這篇文章主要為大家介紹了Android開發(fā)之Flutter與webview通信橋梁實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

最近業(yè)務(wù)有需求需要在flutter內(nèi)使用webview進(jìn)行內(nèi)嵌H5進(jìn)行展示,此時(shí)需要涉及到H5與flutter之間額通信問題。比如發(fā)送消息或者H5調(diào)用Flutter的相機(jī)等等

webview選型

這里我們使用官方維護(hù)的插件webview_flutter

如何通信?

webview在初始化的時(shí)候需要向容器內(nèi)注冊(cè)一個(gè)全局方法供H5進(jìn)行調(diào)用

WebView(
    initialUrl: 'https://flutter.dev',
    javascriptMode: JavascriptMode.unrestricted,
    javascriptChannels: <JavascriptChannel>{
      _toasterJavascriptChannel(context),
    }
    ....
    ....
)
JavascriptChannel _toasterJavascriptChannel(BuildContext context) {
    return JavascriptChannel(
        name: 'Toaster',//注冊(cè)一個(gè)名字為Toaster的全局js方法
        onMessageReceived: (JavascriptMessage message) {
          //處理業(yè)務(wù)的代碼邏輯
          print(message)
        });
}

H5發(fā)送消息給flutter

H5發(fā)送消息采用xxxx.postMessage形式,注意這里對(duì)象需要JSON.stringify

Toaster.postMessage(
  JSON.stringify({
      name: 'tom',
      age: 12
  })
);

flutter發(fā)送消息給H5

需要調(diào)用runJavascript方法,我們可以在H5中聲明一個(gè)全局windows方法

window.globalCallback = function (data) {
    console.log(data)
};

flutter發(fā)送采用runJavascript形式

WebViewController!.runJavascript('globalCallback(123)');//如果是對(duì)象也需要json.encode序列化

以上就是Android開發(fā)之Flutter與webview通信橋梁實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Android開發(fā)Flutter webview通信的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • android實(shí)現(xiàn)注冊(cè)頁面開發(fā)

    android實(shí)現(xiàn)注冊(cè)頁面開發(fā)

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)注冊(cè)頁面開發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Android實(shí)現(xiàn)京東App分類頁面效果

    Android實(shí)現(xiàn)京東App分類頁面效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)京東App分類頁面效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Android使用Intent發(fā)送短信的實(shí)現(xiàn)方法

    Android使用Intent發(fā)送短信的實(shí)現(xiàn)方法

    這篇文章主要介紹了Android使用Intent發(fā)送短信的實(shí)現(xiàn)方法,結(jié)合簡(jiǎn)單實(shí)例形式分析了Android短信發(fā)送功能的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-07-07
  • 完美解決Android Studio集成crashlytics后無法編譯的問題

    完美解決Android Studio集成crashlytics后無法編譯的問題

    下面小編就為大家?guī)硪黄昝澜鉀QAndroid Studio集成crashlytics后無法編譯的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • android studio使用SQLiteOpenHelper()建立數(shù)據(jù)庫的方法

    android studio使用SQLiteOpenHelper()建立數(shù)據(jù)庫的方法

    這篇文章主要介紹了android studio使用SQLiteOpenHelper()建立數(shù)據(jù)庫的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Android中CountDownTimer類詳解

    Android中CountDownTimer類詳解

    本文詳細(xì)講解了Android中CountDownTimer類,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • android Matrix實(shí)現(xiàn)圖片隨意放大縮小或拖動(dòng)

    android Matrix實(shí)現(xiàn)圖片隨意放大縮小或拖動(dòng)

    這篇文章主要為大家詳細(xì)介紹了android Matrix實(shí)現(xiàn)圖片隨意放大縮小或拖動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 超簡(jiǎn)單Android集成華為HMS Scankit 掃碼SDK實(shí)現(xiàn)掃一掃二維碼

    超簡(jiǎn)單Android集成華為HMS Scankit 掃碼SDK實(shí)現(xiàn)掃一掃二維碼

    這篇文章主要介紹了超簡(jiǎn)單Android集成華為HMS Scankit 掃碼SDK實(shí)現(xiàn)掃一掃二維碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Android banner詳解用法案例

    Android banner詳解用法案例

    android-banner實(shí)現(xiàn)了一般banner循環(huán)輪播的效果,一頁只顯示一張圖片,也可以一頁顯示一張圖和相鄰兩個(gè)圖片的一部分,此項(xiàng)目?jī)H僅是banner展示圖片,沒有多余的諸如指示器、頁面切換動(dòng)畫等效果代碼,詳見效果圖和案例代碼
    2021-11-11
  • Android實(shí)現(xiàn)京東上滑效果

    Android實(shí)現(xiàn)京東上滑效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)京東上滑效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評(píng)論