我正在尝试使用共享首选项保存通知标题和 body,但我无法
I am trying to save the notification title and body using shared preference but i am unable to
#我正在尝试在本地保存通知标题和 body 并在我的应用程序中获取标题和 body 以在列表视图中显示所有已发送的通知,但我无法
#this is the code i am 运行 这个代码在我的 main.dart inside initstate 中 detail.add 是我手动创建的列表,但我收到错误提示 102:45:错误:此表达式的类型为 'void',不能为 used.prefs.setString('notificationData', setData);当我尝试设置字符串时,这是我得到的错误
List<String?> detail = [];
FirebaseMessaging.onMessage.listen((message) async{
if(message.notification!=null){
// print(message.notification!.body);
// print(message.notification!.title);
final title = message.notification?.title;
final body = message.notification?.body;
SharedPreferences prefs = await SharedPreferences.getInstance();
final String notificationData = json.encode({"title":title,"body":body});
final setData = detail.add(notificationData);
prefs.setString('notificationData', setData);
print(notificationData);
print(setData);
}
detail.add(notificationData)
函数 returns 什么都没有 (void
) 并且只添加到现有数组中,所以你的 setData
变量是空的但你可以使用原始更新detail
数组如下:
FirebaseMessaging.onMessage.listen((message) async{
if(message.notification!=null){
// print(message.notification!.body);
// print(message.notification!.title);
final title = message.notification?.title;
final body = message.notification?.body;
SharedPreferences prefs = await SharedPreferences.getInstance();
final String notificationData = json.encode({"title":title,"body":body});
detail.add(notificationData);
prefs.setString('notificationData', detail.toString());
print(notificationData);
print(detail);
}
//...
});
#我正在尝试在本地保存通知标题和 body 并在我的应用程序中获取标题和 body 以在列表视图中显示所有已发送的通知,但我无法
#this is the code i am 运行 这个代码在我的 main.dart inside initstate 中 detail.add 是我手动创建的列表,但我收到错误提示 102:45:错误:此表达式的类型为 'void',不能为 used.prefs.setString('notificationData', setData);当我尝试设置字符串时,这是我得到的错误
List<String?> detail = [];
FirebaseMessaging.onMessage.listen((message) async{
if(message.notification!=null){
// print(message.notification!.body);
// print(message.notification!.title);
final title = message.notification?.title;
final body = message.notification?.body;
SharedPreferences prefs = await SharedPreferences.getInstance();
final String notificationData = json.encode({"title":title,"body":body});
final setData = detail.add(notificationData);
prefs.setString('notificationData', setData);
print(notificationData);
print(setData);
}
detail.add(notificationData)
函数 returns 什么都没有 (void
) 并且只添加到现有数组中,所以你的 setData
变量是空的但你可以使用原始更新detail
数组如下:
FirebaseMessaging.onMessage.listen((message) async{
if(message.notification!=null){
// print(message.notification!.body);
// print(message.notification!.title);
final title = message.notification?.title;
final body = message.notification?.body;
SharedPreferences prefs = await SharedPreferences.getInstance();
final String notificationData = json.encode({"title":title,"body":body});
detail.add(notificationData);
prefs.setString('notificationData', detail.toString());
print(notificationData);
print(detail);
}
//...
});