前提・実現したいこと
リマインド機能 local_notificationsを使用して毎日設定した時間にリピートしたい
showDailyAtTimeが非推奨らしいので、zonedScheduleを使ったのですが、年月日まで入力しないといけません。
毎日設定した時間にリピートしたいので不要です。
他に良いメソッドがあるのでしょうか?
別に良い方法があるのでしょうか?
根本的にやっている事が違うのしょうか?
不躾な質問で申し訳ないですが、何卒よろしくお願いします。
該当のソースコード
dart
1//タイマー設定日時間 2 Future<void> zonedSchedule() async { 3 await flutterLocalNotificationsPlugin.zonedSchedule( 4 0, 5 '題名', 6 '内容', 7 TZDateTime.from( 8 DateTime(2021 - 8 - 4 - 10 - 13 - 0), getLocation('Asia/Tokyo')), 9 NotificationDetails( 10 android: AndroidNotificationDetails( 11 'my_channel_id', 'my_channel_name', 'my_channel_description', 12 importance: Importance.max, priority: Priority.high), 13 iOS: IOSNotificationDetails()), 14 uiLocalNotificationDateInterpretation: 15 UILocalNotificationDateInterpretation.absoluteTime, 16 androidAllowWhileIdle: true, 17 ); 18 } 19 20 21 Widget build(BuildContext context) { 22 return Scaffold( 23 appBar: AppBar( 24 title: Text('notification test app'), 25 ), 26 body: Center( 27 child: ListTile( 28 title: const Text('Lights'), 29 trailing: CupertinoSwitch( 30 value: _lights, 31 onChanged: (bool value) 32 { 33 if (value) { 34 // 通知オン 35 zonedSchedule(); 36 } else { 37 // 通知オフ 38 flutterLocalNotificationsPlugin.cancel(0); 39 } 40 setState(() { 41 _lights = value; 42 }); 43 }, 44 ), 45 onTap: () { 46 setState(() { 47 _lights = !_lights; 48 }); 49 }, 50 ), 51 ), 52 ); 53 } 54}
試したこと
zonedScheduleについて検索してみたのですが、情報を見つけれませんでした。
不躾な質問で申し訳ありませんが、何卒よろしくお願いします。
あなたの回答
tips
プレビュー