mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 09:08:40 +00:00
Some checks are pending
Flutter analyze & test / flutter_analyze_and_test (push) Waiting to run
50 lines
1.7 KiB
Dart
50 lines
1.7 KiB
Dart
// ignore_for_file: unreachable_from_main
|
|
|
|
import 'dart:async';
|
|
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
|
|
|
final StreamController<NotificationResponse> selectNotificationStream =
|
|
StreamController<NotificationResponse>.broadcast();
|
|
|
|
@pragma('vm:entry-point')
|
|
void notificationTapBackground(NotificationResponse notificationResponse) {
|
|
// ignore: avoid_print
|
|
print('notification(${notificationResponse.id}) action tapped: '
|
|
'${notificationResponse.actionId} with'
|
|
' payload: ${notificationResponse.payload}');
|
|
if (notificationResponse.input?.isNotEmpty ?? false) {
|
|
// ignore: avoid_print
|
|
print(
|
|
'notification action tapped with input: ${notificationResponse.input}',
|
|
);
|
|
}
|
|
}
|
|
|
|
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
|
|
FlutterLocalNotificationsPlugin();
|
|
|
|
int id = 0;
|
|
|
|
Future<void> setupPushNotification() async {
|
|
const initializationSettingsAndroid =
|
|
AndroidInitializationSettings('ic_launcher_foreground');
|
|
|
|
final darwinNotificationCategories = <DarwinNotificationCategory>[];
|
|
|
|
/// Note: permissions aren't requested here just to demonstrate that can be
|
|
/// done later
|
|
final initializationSettingsDarwin = DarwinInitializationSettings(
|
|
notificationCategories: darwinNotificationCategories,
|
|
);
|
|
|
|
final initializationSettings = InitializationSettings(
|
|
android: initializationSettingsAndroid,
|
|
iOS: initializationSettingsDarwin,
|
|
);
|
|
|
|
await flutterLocalNotificationsPlugin.initialize(
|
|
initializationSettings,
|
|
onDidReceiveNotificationResponse: selectNotificationStream.add,
|
|
onDidReceiveBackgroundNotificationResponse: notificationTapBackground,
|
|
);
|
|
}
|