Уведомление Flutter, которое воспроизводит звук, даже если телефон находится в беззвучном режиме, с использованием пакет ⇐ Android
-
Anonymous
Уведомление Flutter, которое воспроизводит звук, даже если телефон находится в беззвучном режиме, с использованием пакет
Я использую пакет flutter_local_notifications для уведомлений в своем приложении для Android. Версия пакета на данный момент самая последняя: 16.1.0.
Я планирую уведомление со специальным звуком под названием alarm, которое находится в каталоге /android/src/res/raw/, на определенное время и время, и все работает хорошо. Уведомление уже имеет поведение AllowWhileIdle.
Теперь я хотел бы реализовать следующее поведение для уведомления, но я много искал и не могу понять: экран телефона должен загораться при получении уведомления, чтобы вы могли лучше видеть уведомление (как это происходит, когда вы получаете обычное сообщение в Android), и он должен воспроизводить собственный звук, даже если телефон находится в беззвучном режиме.
Я не знаю, возможно ли это, особенно для воспроизведения звука, если телефон находится в беззвучном режиме, но я видел возможность использования FullScreenIntent в Android в пакете flutter_local_notifications и, возможно, можно было бы сделать что-то подобное (я не знаю). мне не нужно полноэкранное всплывающее окно, я имею в виду, можно ли его использовать в качестве обходного пути).
Вот мой код:
статический окончательный flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); статический будущий таймерNotification({ интервал идентификатор = 0, Нить? заголовок, Нить? тело, Нить? полезная нагрузка, требуемая дата и время }) асинхронный { вернуть флаттерLocalNotificationsPlugin.zonedSchedule( идентификатор, заголовок, тело, tz.TZDateTime.from(scheduledDate, tz.local), дождитесь _notificationDetails(), полезная нагрузка: полезная нагрузка, androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle, uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime ); } static Future _notificationDetails() async => const NotificationDetails( Android: AndroidNotificationDetails( "test_app", "test_app", важность: Важность.макс, приоритет: Приоритет.высокий, включить вибрацию: правда, playSound: правда, звук: RawResourceAndroidNotificationSound («сигнал тревоги») ), iOS: DarwinNotificationDetails() ); Я отмечаю, что этот код полностью работает для обычных уведомлений, включая собственный звук, мне просто нужно добавить описанное поведение.
Большое спасибо за помощь.
Я использую пакет flutter_local_notifications для уведомлений в своем приложении для Android. Версия пакета на данный момент самая последняя: 16.1.0.
Я планирую уведомление со специальным звуком под названием alarm, которое находится в каталоге /android/src/res/raw/, на определенное время и время, и все работает хорошо. Уведомление уже имеет поведение AllowWhileIdle.
Теперь я хотел бы реализовать следующее поведение для уведомления, но я много искал и не могу понять: экран телефона должен загораться при получении уведомления, чтобы вы могли лучше видеть уведомление (как это происходит, когда вы получаете обычное сообщение в Android), и он должен воспроизводить собственный звук, даже если телефон находится в беззвучном режиме.
Я не знаю, возможно ли это, особенно для воспроизведения звука, если телефон находится в беззвучном режиме, но я видел возможность использования FullScreenIntent в Android в пакете flutter_local_notifications и, возможно, можно было бы сделать что-то подобное (я не знаю). мне не нужно полноэкранное всплывающее окно, я имею в виду, можно ли его использовать в качестве обходного пути).
Вот мой код:
статический окончательный flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); статический будущий таймерNotification({ интервал идентификатор = 0, Нить? заголовок, Нить? тело, Нить? полезная нагрузка, требуемая дата и время }) асинхронный { вернуть флаттерLocalNotificationsPlugin.zonedSchedule( идентификатор, заголовок, тело, tz.TZDateTime.from(scheduledDate, tz.local), дождитесь _notificationDetails(), полезная нагрузка: полезная нагрузка, androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle, uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime ); } static Future _notificationDetails() async => const NotificationDetails( Android: AndroidNotificationDetails( "test_app", "test_app", важность: Важность.макс, приоритет: Приоритет.высокий, включить вибрацию: правда, playSound: правда, звук: RawResourceAndroidNotificationSound («сигнал тревоги») ), iOS: DarwinNotificationDetails() ); Я отмечаю, что этот код полностью работает для обычных уведомлений, включая собственный звук, мне просто нужно добавить описанное поведение.
Большое спасибо за помощь.
Мобильная версия