【问题标题】:Changing Flutter Local Notifications Sound更改 Flutter 本地通知声音
【发布时间】:2022-12-07 23:23:11
【问题描述】:

我在 Main 之前创建了这个

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp(
    name: "AlertApp",
    options: DefaultFirebaseOptions.currentPlatform,
  );
}

将此添加到我的主要

FirebaseMessaging messaging = FirebaseMessaging.instance;

  await messaging.requestPermission(
    alert: true,
    announcement: false,
    badge: true,
    carPlay: false,
    criticalAlert: false,
    provisional: false,
    sound: true,
  );


  FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);

  await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
    alert: true,
    badge: true,
    sound: true,
  );

当有来自 firebase 的推送通知时,我想有一个自定义通知声音,我已经在我的 initstate 上添加了这个,但没有任何改变

@override
  void initState() {
    super.initState();
    var initializationSettingsAndroid = new AndroidInitializationSettings('ic_launcher');
    var initializationSettingsiOS = IOSInitializationSettings();
    var initializationSettings =
    InitializationSettings(android: initializationSettingsAndroid,iOS: initializationSettingsiOS);
    flutterLocalNotificationsPlugin.initialize(initializationSettings);

    FirebaseMessaging.onMessage.listen((RemoteMessage message) {
      RemoteNotification notification = message.notification;
      AndroidNotification android = message.notification?.android;
      if (notification != null && android != null) {
        flutterLocalNotificationsPlugin.show(
            notification.hashCode,
            notification.title,
            notification.body,
            NotificationDetails(
              android: AndroidNotificationDetails(
                channel.id,
                channel.name,
                channelDescription: channel.description,
                color: Colors.blue,
                icon: "@mipmap/ic_launcher",
              ),
            ));
      }
    });
  }

我在我的安卓真机上试过了

【问题讨论】:

    标签: flutter firebase dart firebase-cloud-messaging


    【解决方案1】:

    您可以参考this article 了解如何为 Android 和this article for iOS

    【讨论】:

    • 它有效,但仅适用于不使用 firebase 的本地应用程序
    【解决方案2】:

    我似乎没有向 setstate 添加声音,因为您的代码无法正常工作。

    AndroidNotificationDetails androidNotificationsDetails = AndroidNotificationDetails(
           'your other channel id',
           'your other channel name',
           'your other channel description',
            importance: Importance.Max,
            priority: Priority.Max,
            enableLights: true,
            playSound: true,
            sound: RawResourceAndroidNotificationSound('notification'),
    );
    

    你必须将这些添加到你的代码中

    playSound: true,
    sound: RawResourceAndroidNotificationSound('notification'),
    

    【讨论】:

      猜你喜欢
      • 2020-10-17
      • 2020-08-30
      • 2020-07-17
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多