需求,app中使用webview和h5交互,根據(jù)h5發(fā)過來的消息,在屏幕上展示flutter組件,并且可以發(fā)送消息給h5。
黑龍江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
首先使用的組件是flutter_WebView_plugin,這個(gè)組件不能嵌套flutter組件,所以放棄這個(gè)組件。
flutter_inappbrowser 可以實(shí)現(xiàn)組合布局, 所以選用了此庫, GitHub鏈接
[
最近項(xiàng)目需求使用flutter開發(fā)一個(gè)在線語音聊天室,即時(shí)語音部分使用聲網(wǎng)的sdk。
官方?jīng)]有提供這個(gè)插件,所以自己寫了一個(gè),供大家參考。
文檔還沒沒來得及寫
ios集成有問題可以聯(lián)系我
github地址
倉庫地址:
pub 地址:
修改 MainActivity.kt 讓 MainActivity 繼承 qiuxiang.android_window.AndroidWindowActivity :
創(chuàng)建 MainApplication.kt :
修改 AndroidManifest.xml 的 application 新增屬性 android:name=".MainApplication" :
main.dart:
我們需要用 @pragma('vm:entry-point') 聲明一個(gè)入口函數(shù),默認(rèn)函數(shù)名是 androidWindow ,當(dāng)然你可以隨意指定一個(gè),只是調(diào)用 open 的時(shí)候需要同時(shí)指定參數(shù) entryPoint: 。
android_window.dart:
浮窗 app 的寫法就和我們平時(shí)寫的 app 沒什么區(qū)別了,如果需要支持窗口拖拽移動(dòng),則要在最外層使用 AndroidWindow 。
最終效果:
更完整的示例請參考:
主應(yīng)用和浮窗都有 post 和 setHandler 方法用于發(fā)送消息以及設(shè)置監(jiān)聽處理函數(shù)。用法舉例:
主應(yīng)用發(fā)送消息到浮窗:
浮窗監(jiān)聽并處理主應(yīng)用消息:
反過來同理。
本功能基于flutter平臺實(shí)現(xiàn), 但是方法同樣適用原生客戶端, 區(qū)別只在于flutter端是通過sdk發(fā)送消息至原生來實(shí)現(xiàn).
基于Universal Links實(shí)現(xiàn), 不受微信控制, 此處不細(xì)說, 官網(wǎng)照做就行
依賴庫:
iOS的Universal Links和安卓的Deeplink均會走下面的方法
蘋果因?yàn)槭窍到y(tǒng)級別的跳轉(zhuǎn), 所以沒有這些邏輯
以上完成, 雙端均可在 瀏覽器 和 微信 直接喚起app并跳轉(zhuǎn)到指定頁面
附上一張安卓端效果圖:
于是就有了寫作本文的動(dòng)力,--------解決同時(shí)連接多臺藍(lán)牙設(shè)備!!!
flutter_blue 適合于單臺的藍(lán)牙設(shè)備,使用起來簡單
flutter_reactive_ble 適合于單臺的藍(lán)牙設(shè)備,多臺藍(lán)牙設(shè)備也可以用
flutter_ble_lib 適合于單臺的藍(lán)牙設(shè)備,多臺藍(lán)牙設(shè)備也可以用,可以在模擬器上進(jìn)行調(diào)試藍(lán)牙
感覺后2個(gè)第三方庫都可以使用,本人先入為主使用了flutter_reactive_ble,所以本文以flutter_reactive_ble為基礎(chǔ)進(jìn)行介紹
先聲明4個(gè)全局變量,后面會用到
開始掃描
如果掃描過程,不使用過濾條件,withServices這個(gè)參數(shù)可以給個(gè)空數(shù)組
停止掃描如下
連接設(shè)備
斷開設(shè)備,
每連接成功一個(gè)設(shè)備后,就會產(chǎn)生一個(gè)_connectionStreamSubscription,對應(yīng)設(shè)備的斷開,就用對應(yīng)的StreamSubscription去斷開, 可以用一個(gè)HashMap,去記錄 連接成功的設(shè)備 與 StreamSubscription 的對應(yīng)關(guān)系
去掃描服務(wù),并過濾服務(wù),掃描結(jié)果服務(wù)里面是包含有特征的數(shù)組,如: serviceId:[fff0,fff1,fff2,fff3,...]
去監(jiān)聽上報(bào)來的數(shù)據(jù),參數(shù)來自前面掃描到的結(jié)果serviceId--服務(wù)ID, characteristicId--特征ID,deviceId--設(shè)備ID
后面就是各位看官根據(jù)自己的需求去做邏輯處理啦。
對設(shè)備設(shè)置命令,發(fā)送請求(寫操作),list為整形數(shù)據(jù),要寫的數(shù)據(jù)
讀取設(shè)備的信息(讀操作)
flutter 多臺藍(lán)牙設(shè)備同時(shí)連接的分享就到這里嘍,小伴們,覺得有點(diǎn)用的話,或者已經(jīng)看到這里面來的請點(diǎn)個(gè)贊吧~~ 后續(xù)分享更多有關(guān)flutter的文章。如果有疑問的話,請?jiān)谙路搅粞詞
過一段時(shí)間后,我在項(xiàng)目把這個(gè)藍(lán)牙庫用起來了,基本能滿足日常需求.效果如下:
可以去找ZEGO即構(gòu)科技,他們支持php做語音聊天室,并且快速便捷,支持多種語言框架,例如React Native、JavaScript 、Swift、Electron、Flutter等多種語言框架。
分享文章:flutter發(fā)送語音,flutter音頻播放
網(wǎng)站地址:http://m.newbst.com/article44/phhehe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、App設(shè)計(jì)、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)