[英]Flutter + FCM: Cant change UI in onMessage method
我使用 Flutter 中的 Firebase FCM 在收到消息時通知 App。 我的小部件(返回 Scaffold)的 initState 方法如下所示:
@override
void initState() {
super.initState();
FcmService(_fcm).saveDeviceToken();
_fcm.configure(
onMessage: (Map<String, dynamic> message) async {
print('Notification received');
final snackbar = SnackBar(
content: Text(message['notification']['title']),
action: SnackBarAction(
label: 'Go',
onPressed: () => null,
),
);
Scaffold.of(context).showSnackBar(snackbar);
},
);
}
當消息發送到設備時,打印被執行,所以一切都應該正常工作,但 SnackBar 沒有出現。 我還嘗試顯示 AlertDialog 或僅使用 setState 並更改 label 上顯示的變量來測試這是否是 SnackBar 獨有的東西,但事實並非如此。 盡管執行了該方法,但沒有任何改變。
您無法從 initstate 獲取腳手架狀態,如果您必須在 initstate 中調用它,請嘗試使用將來的延遲方法,或者只是從 build 方法中調用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.