我已经在下面编写了代码(可完全运行),当我运行该应用程序时,会显示一条通知,但AlarmManager无法按预期工作。正如我告诉他的那样,它不会每分钟显示一条通知...我该如何解决?提前Thx并使用<3
进行编码class _MyHomePageState extends State<MyHomePage>
{
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = new FlutterLocalNotificationsPlugin();
var initializationSettings;
var initializationSettingsAndroid;
@override
Widget build(BuildContext context)
{
initializationSettingsAndroid = new AndroidInitializationSettings("@mipmap/ic_launcher");
initializationSettings = InitializationSettings(initializationSettingsAndroid, null);
flutterLocalNotificationsPlugin.initialize(initializationSettings, onSelectNotification: onSelectNotification);
createTimer();
return Scaffold
(
appBar: AppBar
(
title: Text(widget.title),
),
body: Container()
);
}
void createTimer() async
{
final int alarmID = 0;
showNotificationWithDefaultSound();
await AndroidAlarmManager.initialize();
await AndroidAlarmManager.periodic(const Duration(minutes: 1), alarmID, showNotificationWithDefaultSound);
}
Future showNotificationWithDefaultSound() async
{
var androidPlatformChannelSpecifics = new AndroidNotificationDetails('idNotification', 'AppName', 'Description', importance: Importance.Max, priority: Priority.High);
var iOSPlatformChannelSpecifics = new IOSNotificationDetails();
var platformChannelSpecifics = new NotificationDetails(androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
await flutterLocalNotificationsPlugin.show(0, 'New Notification', 'This is the text of the notification', platformChannelSpecifics, payload: 'Hi guys and girls!!');
}
Future onSelectNotification(String payload) async
{
showDialog(context: context, builder: (_)
{
return new AlertDialog(title: Text("PayLoad"), content: Text("Payload : $payload"));
});
}
}
最后我找到了解决方案...这是完整的示例。