如何解决这个问题呢?
ArgumentError (Invalid argument(s): iOS settings must be set when targeting iOS platform.)
我已经添加了通知,但是当我运行 iOS 模拟器时出现此错误How can solve this issues? ArgumentError (Invalid argument(s): iOS settings must be set when targeting iOS platform.)
但它可以在真实设备上运行,只是不能在iOS模拟器上运行
当应用程序处于前台或后台时,flutter_local_notifications 工作正常
但是当应用程序终止时
onSelectNotification 没有按预期工作,而是打开应用程序
static void initializeLocalNotification() async {
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('ic_launcher');
final IOSInitializationSettings initializationSettingsIOS =
IOSInitializationSettings(
requestSoundPermission: false,
requestBadgePermission: false,
requestAlertPermission: false,
);
final InitializationSettings initializationSettings =
InitializationSettings(
android: initializationSettingsAndroid,
iOS: initializationSettingsIOS,
);
await flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: (String payload) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var res = await prefs.setString(kNotificationPayLoad, payload);
// navigatorKey.currentState
// .push(MaterialPageRoute(builder: (_) => LoginScreen()));
// navigatorKey.currentState.pop();
});
await flutterLocalNotificationsPlugin
.resolvePlatformSpecificImplementation<
IOSFlutterLocalNotificationsPlugin>()
?.requestPermissions(
alert: true,
badge: true,
sound: true, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下依赖项在 android 上发送颤振通知:
“flutter_local_notifications:^9.0.1”
但当我单击“测试”按钮时,它给了我这个错误。
任何人都知道我该如何解决它?
/////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////
在main.dart中:
ElevatedButton(
onPressed: () => NotificationApi.showNotification(
title: 'Samira', body: 'Heyy theree !!!', payload: 'samira'),
child: Text("test"),
Run Code Online (Sandbox Code Playgroud)
在notification.dart中:
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
class NotificationApi {
static final _notifications = FlutterLocalNotificationsPlugin();
static Future _notificationDetails() async {
return const NotificationDetails(
android: AndroidNotificationDetails(
'channel id',
'channel name',
channelDescription: 'channel description',
importance: Importance.max,
),
//iOS: IOSNotificationDetails(),
);
}
static Future showNotification({
int id = 0,
String? title,
String? body,
String? payload,
}) async =>
_notifications.show(
id,
title,
body,
await …Run Code Online (Sandbox Code Playgroud) iOS上使用flutter开发时收不到firebase的通知
我已授予许可并使用邮递员进行测试。
首先,我会得到令牌
Restarted application in 516ms.
flutter: User granted permission
flutter: This token is eWQJLcN1zEQ_rQ79sBqXI6:APA91bHMnuhkPaf8JpcTbLQavxqq5erUIeRTQYPv9NAhsdfasdfasdaDSA0BTXgVb2RseAmUsi5uAa5SDvGWA7wgIcWPP5xDqTyo4s3xEdWkhHoQc77G59GGZptafaxNIW5QG
Run Code Online (Sandbox Code Playgroud)
Secode:当我去postman测试时,我获得了成功
{
"multicast_id": 2305740741419558081,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
{
"message_id": "0:1654957148235526%2734e82c2734e82c"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但我仍然没有收到任何通知。
哪里有问题?
这是代码。
late int _totalNotifications;
late final FirebaseMessaging _messaging;
PushNotification? _notificationInfo;
void requestAndRegisterNotification() async {
await Firebase.initializeApp();
_messaging = FirebaseMessaging.instance;
FirebaseMessaging.onBackgroundMessage(_firebaseMessageingBackgroundHandler);
NotificationSettings settings = await _messaging.requestPermission(
alert: true,
badge: true,
provisional: false,
sound: true,
);
if (settings.authorizationStatus == AuthorizationStatus.authorized) {
print('User granted permission');
String? token …Run Code Online (Sandbox Code Playgroud) firebase flutter firebase-notifications flutter-notification