【Flutter 混合開發】與原生通訊-EventChannel
阿新 • • 發佈:2020-10-27
![](https://img2020.cnblogs.com/other/467322/202010/467322-20201026224455568-531443589.png)
> Flutter 混合開發系列 包含如下:
> - 嵌入原生View-Android
> - 嵌入原生View-iOS
> - 與原生通訊-MethodChannel
> - 與原生通訊-BasicMessageChannel
> - **與原生通訊-EventChannel**
> - 新增 Flutter 到 Android Activity
> - 新增 Flutter 到 Android Fragment
> - 新增 Flutter 到 iOS
>
> 每個工作日分享一篇,歡迎關注、點贊及轉發。
### EventChannel
#### Flutter 端
Flutter 端建立 **EventChannel** 通道,用於與原生端通訊:
```dart
var _eventChannel = EventChannel('com.flutter.guide.EventChannel');
```
**com.flutter.guide.EventChannel** 是 EventChannel 的名稱,原生端要與之對應。
監聽原生端傳送的訊息:
```dart
var _data;
@override
void initState() {
super.initState();
_eventChannel.receiveBroadcastStream().listen(_onData);
}
_onData(event){
setState(() {
_data = event;
});
}
```
Flutter 端完整程式碼:
```dart
class EventChannelDemo extends StatefulWidget {
@override
_EventChannelDemoState createState() => _EventChannelDemoState();
}
class _EventChannelDemoState exten