setupLocalNotifications method
Future<void>
setupLocalNotifications(
)
Implementation
Future<void> setupLocalNotifications() async {
const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('launcher_icon');
const DarwinInitializationSettings initializationSettingsDarwin =
DarwinInitializationSettings(
requestSoundPermission: true,
requestBadgePermission: true,
requestAlertPermission: true,
);
const LinuxInitializationSettings initializationSettingsLinux =
LinuxInitializationSettings(defaultActionName: 'Open Resilient');
const WindowsInitializationSettings initializationSettingsWindows =
WindowsInitializationSettings(
appName: 'Resilient',
appUserModelId: 'Com.Dexterous.FlutterLocalNotificationsExample',
// Search online for GUID generators to make your own
guid: 'be99a50a-d7c2-4381-9bc6-104ebb2999fd',
);
const InitializationSettings initializationSettings =
InitializationSettings(
android: initializationSettingsAndroid,
iOS: initializationSettingsDarwin,
macOS: initializationSettingsDarwin,
linux: initializationSettingsLinux,
windows: initializationSettingsWindows,
);
await fn.initialize(
initializationSettings,
onDidReceiveNotificationResponse: receiveLocalNotificationResponse,
);
info("Initialized Local Notifications Plugin");
notificationsAllowed =
((await fn
.resolvePlatformSpecificImplementation<
IOSFlutterLocalNotificationsPlugin
>()
?.requestPermissions(alert: true, badge: true, sound: true)) ??
false) ||
((await fn
.resolvePlatformSpecificImplementation<
MacOSFlutterLocalNotificationsPlugin
>()
?.requestPermissions(alert: true, badge: true, sound: true)) ??
false) ||
((await fn
.resolvePlatformSpecificImplementation<
AndroidFlutterLocalNotificationsPlugin
>()
?.requestNotificationsPermission()) ??
false);
info("Notifications allowed: $notificationsAllowed");
}