Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:Test_1/Web_View.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_local_notifications/flutter_local_notifications.dart';
- class LocalNotification extends StatefulWidget {
- LocalNotificationState createState() => LocalNotificationState();
- }
- class LocalNotificationState extends State<LocalNotification> {
- final FlutterLocalNotificationsPlugin localNotify =
- new FlutterLocalNotificationsPlugin();
- var initializationSettingsAndroid;
- var initializationSettingsIOS;
- var initializationSettings;
- void showNotification() async {
- await demoNotification();
- }
- Future<void> demoNotification() async {
- var androidPlatformChannelSpecifics = AndroidNotificationDetails(
- 'channel_ID', 'channel name', 'channel description',
- importance: Importance.Max,
- priority: Priority.High,
- ticker: 'test ticker');
- var iOSChannelSpecifics = IOSNotificationDetails();
- var platformSpecificChannels = NotificationDetails(
- androidPlatformChannelSpecifics, iOSChannelSpecifics);
- await localNotify.show(0, 'title', 'message', platformSpecificChannels,
- payload: 'test payload');
- }
- @override
- void initState() {
- super.initState();
- initializationSettingsAndroid =
- new AndroidInitializationSettings('app_icon');
- initializationSettingsIOS = new IOSInitializationSettings(
- onDidReceiveLocalNotification: onDidReceiveLocalNotification);
- initializationSettings = new InitializationSettings(
- initializationSettingsAndroid, initializationSettingsIOS);
- localNotify.initialize(initializationSettings,
- onSelectNotification: onSelectNotification);
- }
- Future onSelectNotification(String payload) async {
- if (payload != null) {
- debugPrint('Notification payload: $payload');
- }
- await Navigator.push(
- context, new MaterialPageRoute(builder: (context) => new Webview()));
- }
- Future onDidReceiveLocalNotification(
- int id, String title, String body, String payload) async {
- await showDialog(
- context: context,
- builder: (BuildContext context) => CupertinoAlertDialog(
- title: Text(title),
- content: Text(body),
- actions: <Widget>[
- CupertinoDialogAction(
- isDefaultAction: true,
- child: Text('OK.'),
- onPressed: () async {
- Navigator.of(context, rootNavigator: true).pop();
- await Navigator.push(context,
- MaterialPageRoute(builder: (context) => Webview()));
- },
- )
- ],
- ));
- }
- @override
- Widget build(BuildContext context) {
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement