#android #flutter #dart #audio #notifications
#Android #трепетать #дротик #Аудио #уведомления
Вопрос:
ниже приведен мой код для вспомогательного класса уведомлений для использования уведомлений из библиотеки flutter_local_notification
import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:rxdart/rxdart.dart'; import 'package:timezone/data/latest.dart' as tz; import 'package:timezone/timezone.dart' as tz; import 'package:flutter_native_timezone/flutter_native_timezone.dart'; class NotificationsHelper { NotificationsHelper._privateConstructor(); static final NotificationsHelper instance = NotificationsHelper._privateConstructor(); static final _notifications = FlutterLocalNotificationsPlugin(); static final onNotifications = BehaviorSubjectlt;String?gt;(); static Future _notificationDetails() async { return NotificationDetails( android: AndroidNotificationDetails( 'n1', 'Crystal', importance: Importance.max, priority: Priority.high, playSound: true, enableVibration: true, ), ); } static Future init({bool initScheduled = false}) async { const android = AndroidInitializationSettings('@mipmap/ic_launcher'); const iOS = IOSInitializationSettings(); const settings = InitializationSettings( android: android, iOS: iOS, ); await _notifications.initialize(settings,onSelectNotification: (payload)async{ onNotifications.add(payload); }); if (initScheduled) { tz.initializeTimeZones(); final locationName = await FlutterNativeTimezone.getLocalTimezone(); tz.setLocalLocation(tz.getLocation(locationName)); } } static Future showScheduledNotifications({ required int id , required String title, required String body, String? payload, required DateTime servingTime, }) async =gt; _notifications.zonedSchedule( id, title, body, tz.TZDateTime.from(servingTime, tz.local), await _notificationDetails(), payload: payload, androidAllowWhileIdle: true, uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime, ); static void cancel(int id) =gt; _notifications.cancel(id); static void cancelAll() =gt; _notifications.cancelAll(); }
Проблема в том, что звук уведомления не работает на устройствах или эмуляторах Android. И уведомление-самая важная часть моего приложения, потому что оно работает как напоминание, поэтому без звука мое приложение бесполезно.
Я уверен, что решение есть, надеюсь, вы, ребята, поможете мне его найти.
Спасибо.