如何为您的 flutter 应用程序禁用/启用通知声音? [已关闭]

问题描述 投票:0回答:2

当用户打开我的应用程序中的通知开关时,我想禁用传入通知的声音。

我也阅读了官方文档,但找不到任何有用的东西。

有什么办法吗? 我还添加了属性 Playsound: false 但这对我不起作用,我仍然收到 Android 默认通知声音。

我尝试了这个包来获取本地通知,但没有找到我要找的东西!

请参阅下面的代码以在 Android 上发送通知。

    import 'package:flutter_local_notifications/flutter_local_notifications.dart';

class MusicNotification {
  final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
      FlutterLocalNotificationsPlugin();

  Future<void> init() async {
    const AndroidInitializationSettings initializationSettingsAndroid =
        AndroidInitializationSettings("@mipmap/ic_launcher");

    const DarwinInitializationSettings initializationSettingsIOS =
        DarwinInitializationSettings();

    const InitializationSettings initializationSettings =
        InitializationSettings(
      android: initializationSettingsAndroid,
      iOS: initializationSettingsIOS,
    );

    await flutterLocalNotificationsPlugin.initialize(
      initializationSettings,
    );
  }

  void showNotificationAndroid(String title, String value) async {
    const AndroidNotificationDetails androidNotificationDetails =
        AndroidNotificationDetails(
      'Music123',
      'Music',
      channelDescription: 'Music Notification',
      importance: Importance.max,
      priority: Priority.high,
      playSound: false,
      ticker: 'ticker',
    );

    int notification_id = 1;
    const NotificationDetails notificationDetails =
        NotificationDetails(android: androidNotificationDetails);

    await flutterLocalNotificationsPlugin.show(
        notification_id, title, value, notificationDetails,
        payload: 'Not present');
  }
}

这是为了调用通知事件

MusicNotification().showNotificationAndroid(
    'title',
    'value');
firebase flutter dart push-notification
2个回答
2
投票

这应该由您的后端服务处理。您可以通过不在云消息 API 中发送“声音”键来静音。阅读更多这里


0
投票

其中一种技术可以是删除旧的有声音通知通道并重新创建没有声音的通道。 这个包对于处理flutter中的通知很方便。

© www.soinside.com 2019 - 2024. All rights reserved.