added (very) simple notifcations test to app
This commit is contained in:
parent
316b05b644
commit
eecb60ab0e
3 changed files with 50 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||
import 'package:pizzaplanner/entities/PizzaEvent.dart';
|
||||
import 'package:pizzaplanner/entities/PizzaRecipe/Ingredient.dart';
|
||||
import 'package:pizzaplanner/entities/PizzaRecipe/PizzaRecipe.dart';
|
||||
|
@ -13,7 +14,10 @@ import 'package:hive/hive.dart';
|
|||
import 'package:hive_flutter/hive_flutter.dart';
|
||||
import 'package:pizzaplanner/util.dart';
|
||||
|
||||
final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
|
||||
|
||||
void main() async {
|
||||
// hive init
|
||||
await Hive.initFlutter();
|
||||
|
||||
Hive.registerAdapter(PizzaEventAdapter());
|
||||
|
@ -30,6 +34,18 @@ void main() async {
|
|||
pizzaRecipesBox.addAll(await getRecipes());
|
||||
}
|
||||
|
||||
// notification init
|
||||
const initializationSettingsAndroid = AndroidInitializationSettings('@mipmap/app_icon');
|
||||
final initializationSettingsIOS = IOSInitializationSettings();
|
||||
final initializationSettingsMacOS = MacOSInitializationSettings();
|
||||
final initializationSettings = InitializationSettings(
|
||||
android: initializationSettingsAndroid,
|
||||
iOS: initializationSettingsIOS,
|
||||
macOS: initializationSettingsMacOS
|
||||
);
|
||||
await flutterLocalNotificationsPlugin.initialize(initializationSettings,
|
||||
onSelectNotification: selectNotification);
|
||||
|
||||
runApp(PizzaPlanner());
|
||||
|
||||
//await Hive.close();
|
||||
|
@ -68,4 +84,12 @@ class RouteGenerator {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Future selectNotification(String? payload) async {
|
||||
if (payload == null) {
|
||||
print("Payload: null");
|
||||
return;
|
||||
}
|
||||
print("Payload: $payload");
|
||||
}
|
|
@ -1,8 +1,10 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||
import 'package:fluttericon/font_awesome5_icons.dart';
|
||||
import 'package:pizzaplanner/entities/PizzaEvent.dart';
|
||||
import 'package:pizzaplanner/entities/PizzaRecipe/RecipeStep.dart';
|
||||
import 'package:pizzaplanner/entities/PizzaRecipe/RecipeSubStep.dart';
|
||||
import 'package:pizzaplanner/main.dart';
|
||||
|
||||
class PizzaEventPage extends StatefulWidget {
|
||||
final PizzaEvent pizzaEvent;
|
||||
|
@ -157,6 +159,28 @@ class SubStepDialogState extends State<SubStepDialog> {
|
|||
},
|
||||
)
|
||||
)
|
||||
),
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
height: 70,
|
||||
child: Container(
|
||||
color: Colors.grey,
|
||||
child: TextButton(
|
||||
child: Text("Notify!", style: TextStyle(color: Colors.white)),
|
||||
onPressed: () async {
|
||||
const androidPlatformChannelSpecifics = AndroidNotificationDetails(
|
||||
"PizzaEvent", "PizzaEvent", "PizzaEvent notifications",
|
||||
importance: Importance.max,
|
||||
priority: Priority.high,
|
||||
ticker: "ticker"
|
||||
);
|
||||
const platformChannelSpecific = NotificationDetails(android: androidPlatformChannelSpecifics);
|
||||
await flutterLocalNotificationsPlugin.show(
|
||||
0, 'test', 'teeest', platformChannelSpecific,
|
||||
payload: "payload123");
|
||||
},
|
||||
)
|
||||
)
|
||||
)
|
||||
]
|
||||
)
|
||||
|
|
|
@ -38,6 +38,8 @@ dependencies:
|
|||
hive: ^2.0.4
|
||||
hive_flutter: ^1.1.0
|
||||
|
||||
flutter_local_notifications: ^8.0.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
|
Loading…
Add table
Reference in a new issue