Advertisement
Guest User

Untitled

a guest
Jun 6th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 2.82 KB | None | 0 0
  1. import 'package:Test_1/Web_View.dart';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter_local_notifications/flutter_local_notifications.dart';
  5.  
  6. class LocalNotification extends StatefulWidget {
  7.   LocalNotificationState createState() => LocalNotificationState();
  8. }
  9.  
  10. class LocalNotificationState extends State<LocalNotification> {
  11.   final FlutterLocalNotificationsPlugin localNotify =
  12.       new FlutterLocalNotificationsPlugin();
  13.   var initializationSettingsAndroid;
  14.   var initializationSettingsIOS;
  15.   var initializationSettings;
  16.  
  17.   void showNotification() async {
  18.     await demoNotification();
  19.   }
  20.  
  21.   Future<void> demoNotification() async {
  22.     var androidPlatformChannelSpecifics = AndroidNotificationDetails(
  23.         'channel_ID', 'channel name', 'channel description',
  24.         importance: Importance.Max,
  25.         priority: Priority.High,
  26.         ticker: 'test ticker');
  27.     var iOSChannelSpecifics = IOSNotificationDetails();
  28.     var platformSpecificChannels = NotificationDetails(
  29.         androidPlatformChannelSpecifics, iOSChannelSpecifics);
  30.     await localNotify.show(0, 'title', 'message', platformSpecificChannels,
  31.         payload: 'test payload');
  32.   }
  33.  
  34.   @override
  35.   void initState() {
  36.     super.initState();
  37.  
  38.     initializationSettingsAndroid =
  39.         new AndroidInitializationSettings('app_icon');
  40.     initializationSettingsIOS = new IOSInitializationSettings(
  41.         onDidReceiveLocalNotification: onDidReceiveLocalNotification);
  42.     initializationSettings = new InitializationSettings(
  43.         initializationSettingsAndroid, initializationSettingsIOS);
  44.     localNotify.initialize(initializationSettings,
  45.         onSelectNotification: onSelectNotification);
  46.   }
  47.  
  48.   Future onSelectNotification(String payload) async {
  49.     if (payload != null) {
  50.       debugPrint('Notification payload: $payload');
  51.     }
  52.     await Navigator.push(
  53.         context, new MaterialPageRoute(builder: (context) => new Webview()));
  54.   }
  55.  
  56.   Future onDidReceiveLocalNotification(
  57.       int id, String title, String body, String payload) async {
  58.     await showDialog(
  59.         context: context,
  60.         builder: (BuildContext context) => CupertinoAlertDialog(
  61.               title: Text(title),
  62.               content: Text(body),
  63.               actions: <Widget>[
  64.                 CupertinoDialogAction(
  65.                   isDefaultAction: true,
  66.                   child: Text('OK.'),
  67.                   onPressed: () async {
  68.                     Navigator.of(context, rootNavigator: true).pop();
  69.                     await Navigator.push(context,
  70.                         MaterialPageRoute(builder: (context) => Webview()));
  71.                   },
  72.                 )
  73.               ],
  74.             ));
  75.   }
  76.  
  77.   @override
  78.   Widget build(BuildContext context) {
  79.     return null;
  80.   }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement