废话不都说,123,直接上连接
Github: https://github.com/VictorZhang2014/NotificationCentre
Flutter的pub:https://pub.dev/packages/notification_centre
这么多年了,Flutter要想想自己的问题,为什么不出一个官方的版本呢?所以在此博主就免费献给大家了。 -- 摘自李佳琦直播Show
不用多说,大家也知道是什么,iOS中的神器,可以在整个应用程序中自由的广播消息,支持一次广播给多个订阅者。
Android中的第三方开源的EventBus也是安卓开发的神器!贯穿整个安卓开发。
使用方式都是,在整个应用程序中有多个订阅,订阅回调里可以接受传递过来的参数,用完需要释放掉。
比如在一个StatefulWidget
页面里,或者StatelessWidget
页面里,去订阅/监听,类名和函数名与原生NotificationCenter一致。
StatefulWidget
或StatelessWidget
都会有 void initState() {
super.initState();
// 监听/订阅
NotificationCenter().addObserver(NOTIFICATION_NAME_USER_SIGNED_IN, this, (data) {
// 当登录后回调到这里
});
}
页面释放时,需要移除监听对象
void dispose() {
NotificationCenter().removeObserver(NOTIFICATION_NAME_USER_SIGNED_IN, this);
super.dispose();
}
广播/发送就非常简单了
NotificationCenter().postNotification(
NOTIFICATION_NAME_PURCHASE_COMPLETED,
data: {"data": YOUR_DATA, "type": "completed"},
);
方式1:
flutter pub add notification_centre
方式2:
dependencies:
notification_centre: ^0.0.3