Flutter與原生通信

直接上代碼:
dart:

class StreamView extends StatefulWidget {
  @override
  _StreamViewState createState() => _StreamViewState();
}

class _StreamViewState extends State<StreamView> {
  var getData;
  void sendChannel()async{
  
    final chanel = MethodChannel('example.send');
    var data = await chanel.invokeMethod('get',['who are you',123]);


    getData = data.toString();
    setState(() {});

  }
  @override
  Widget build(BuildContext context) {
    print('build');

    return Scaffold(
      body: Center(child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Text(getData??''),
          FlatButton(onPressed: ()=>sendChannel(), child: Text('send'))
        ],
      ),),
    );
  }
}

android >>>>MainActivity.java

public class MainActivity extends FlutterActivity {
    @Override
  public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {

    GeneratedPluginRegistrant.registerWith(flutterEngine);
//getFlutterView()已經(jīng)被刪除  延欠,使用flutterEngine.getDartExecutor().getBinaryMessenger()替換
        new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(),
                "example.send").setMethodCallHandler(new MyChannel());
  }

}
class  MyChannel implements MethodChannel.MethodCallHandler{

    @Override
    public void onMethodCall(MethodCall call, MethodChannel.Result result) {
        if(call.method.equals("get")){
           result.success("Native Answer");
        }
        if(call.arguments!=null){
            if(call.arguments instanceof ArrayList){
                ArrayList list= (ArrayList) call.arguments;
                String a= (String) list.get(0);
                int b= (int) list.get(1);
                System.out.println(a); // who are you
                System.out.println(b); // 123
            }
        }

    }
}

ios>>> Runner > appdelegate.swift
沒學過swift蛛淋,僅供參考

import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    //start
    let controller = window?.rootViewController as! FlutterViewController;
    let channel = FlutterMethodChannel(name: "example.send", binaryMessenger: controller.binaryMessenger);
    channel.setMethodCallHandler { (call, result) in
        if(call.method=="get"){
            result("Native Answer");
        }
    }
    //end
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

參考文檔:Flutter官方 https://flutter.dev/docs/development/platform-integration/platform-channels
]

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市饼记,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖丽惶,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件譬胎,死亡現(xiàn)場離奇詭異差牛,居然都是意外死亡,警方通過查閱死者的電腦和手機堰乔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門偏化,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人镐侯,你說我怎么就攤上這事侦讨。” “怎么了苟翻?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵韵卤,是天一觀的道長。 經(jīng)常有香客問我袜瞬,道長怜俐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任邓尤,我火速辦了婚禮拍鲤,結果婚禮上贴谎,老公的妹妹穿的比我還像新娘。我一直安慰自己季稳,他們只是感情好擅这,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著景鼠,像睡著了一般仲翎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铛漓,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天溯香,我揣著相機與錄音,去河邊找鬼浓恶。 笑死玫坛,一個胖子當著我的面吹牛,可吹牛的內容都是我干的包晰。 我是一名探鬼主播湿镀,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伐憾!你這毒婦竟也來了勉痴?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤树肃,失蹤者是張志新(化名)和其女友劉穎蒸矛,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扫外,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡莉钙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了筛谚。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磁玉。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖驾讲,靈堂內的尸體忽然破棺而出蚊伞,到底是詐尸還是另有隱情,我是刑警寧澤吮铭,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布时迫,位于F島的核電站,受9級特大地震影響谓晌,放射性物質發(fā)生泄漏掠拳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一纸肉、第九天 我趴在偏房一處隱蔽的房頂上張望溺欧。 院中可真熱鬧喊熟,春花似錦、人聲如沸姐刁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聂使。三九已至壁拉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間柏靶,已是汗流浹背弃理。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宿礁,地道東北人案铺。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像梆靖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子笔诵,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容

  • Flutter和Native的通信是通過Channel來完成的返吻。Flutter使用了一個靈活的系統(tǒng),允許您調用特定...
    莫庫施勒閱讀 3,892評論 0 2
  • 文?木子心士 2019年6月7日,收到一則來自“今日頭條”的系統(tǒng)通知谢翎,方知入駐頭條已經(jīng)足足一年矣捍靠。慨嘆光陰似箭日月...
    木子心士閱讀 1,102評論 10 13
  • 既然注定,何不提前使用自己的權利 “如果注定三年后你是我的女朋友褒侧,我何不提前使用自己的權利”這是《何以笙簫默》中著...
    水星果凍閱讀 1,321評論 0 0
  • 我們現(xiàn)在對事物良风,人物的喜愛,我們的每一個選擇闷供,生活狀態(tài)烟央,們我的每個行為思想,其實都與我的過去息息相關歪脏,只是我們還沒...
    丶青衣素酒灬閱讀 177評論 0 0
  • 七月最后三兩天里 灌悶著滿腦子的情緒 我排斥新月的到來 無比的排斥啄寡。 昨天下了整天雨 好像應景著的心...
    aiya_6f08閱讀 280評論 0 0