Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Notificação com alarme

Preciso criar uma notificação que emita som para imitar uma alarme. No caso configuro a mensagem e o horário dentro do app e depois quero receber essa mensagem com um som e parar esse som ao clicar na notificação. Estou usando flutter, alguém conhece alguma forma de fazer isso? Por agr só consigo mandar a notificação

1 resposta
solução!

Olá, Licia! Tudo bem?

Para criar uma notificação com som no Flutter, você pode utilizar a biblioteca flutter_local_notifications. Com ela, você pode configurar uma notificação com som personalizado e também adicionar a funcionalidade de parar o som ao clicar na notificação.

Primeiro, você precisa adicionar a dependência flutter_local_notifications no arquivo pubspec.yaml do seu projeto. Em seguida, importe a biblioteca no arquivo onde você deseja criar a notificação.

Aqui está um exemplo básico de como criar uma notificação com som:

import 'package:flutter_local_notifications/flutter_local_notifications.dart';

FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
    FlutterLocalNotificationsPlugin();

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  var initializationSettingsAndroid =
      AndroidInitializationSettings('@mipmap/ic_launcher');
  var initializationSettingsIOS = IOSInitializationSettings();
  var initializationSettings = InitializationSettings(
      android: initializationSettingsAndroid, iOS: initializationSettingsIOS);
  await flutterLocalNotificationsPlugin.initialize(initializationSettings);
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Local Notifications'),
        ),
        body: Center(
          child: RaisedButton(
            child: Text('Enviar Notificação'),
            onPressed: () {
              _showNotification();
            },
          ),
        ),
      ),
    );
  }

  Future<void> _showNotification() async {
    var androidPlatformChannelSpecifics = AndroidNotificationDetails(
        'channel_id', 'channel_name', 'channel_description',
        importance: Importance.Max, priority: Priority.High, sound: RawResourceAndroidNotificationSound('alarm_sound'));
    var iOSPlatformChannelSpecifics = IOSNotificationDetails();
    var platformChannelSpecifics = NotificationDetails(
        androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
    await flutterLocalNotificationsPlugin.show(
        0, 'Título da Notificação', 'Corpo da Notificação', platformChannelSpecifics,
        payload: 'item x');
  }
}

Neste exemplo, ao pressionar o botão "Enviar Notificação", será exibida uma notificação com o título "Título da Notificação" e corpo "Corpo da Notificação". Além disso, o som do alarme será reproduzido ao receber a notificação.

Lembre-se de substituir o valor alarm_sound pelo nome do arquivo de som que você deseja utilizar como alarme. Certifique-se de colocar o arquivo de som na pasta res/raw do seu projeto.

Espero ter ajudado e bons estudos!