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