毎日やることをリマインドするアプリを作る その4:日次通知

May 25, 2019

続きです。

https://flutter.tnantoka.com/entry/2019/05/24/230229

flutter_local_notificaitonsを使って、設定したい時間に通知を表示します。

https://github.com/MaikuB/flutter_local_notifications

initState内で初期化しておいて…

1
2
3
4
5
6
7
8
9
_flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
const AndroidInitializationSettings initializationSettingsAndroid =
    AndroidInitializationSettings('app_icon');
const IOSInitializationSettings initializationSettingsIOS =
    IOSInitializationSettings();
const InitializationSettings initializationSettings =
    InitializationSettings(
        initializationSettingsAndroid, initializationSettingsIOS);
_flutterLocalNotificationsPlugin.initialize(initializationSettings);

通知の設定が変更されたら、通知を設定しなおします。

1
2
3
4
5
6
7
8
9
10
await _flutterLocalNotificationsPlugin.cancelAll();

final AndroidNotificationDetails androidPlatformChannelSpecifics =
    AndroidNotificationDetails('reminder', 'Reminder', 'Daily reminder');
final IOSNotificationDetails iOSPlatformChannelSpecifics =
    IOSNotificationDetails();
final NotificationDetails platformChannelSpecifics = NotificationDetails(
    androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
await _flutterLocalNotificationsPlugin.showDailyAtTime(0, 'Reminder',
    "Today's TODOs is over?", time, platformChannelSpecifics);

これで每日通知でリマインダーしてくれるようになりました。

なお、Androidはいろいろ設定が必要なので注意です。
(画像とManifestの追加が必要)

https://github.com/MaikuB/flutter_local_notifications#android-integration

いつもと同じくソースコードはこちらです。

https://github.com/tnantoka/nikka

さて、この状態で最低限自分が使える状態にはなってしまったのと、
ストアに出してもあまりダウンロードされる気がしないので、
一旦このアプリはここでストップしたいと思います。