Flutter notes

Flutterに関するメモ書き

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

続きです。

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

github.com

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

_flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
const AndroidInitializationSettings initializationSettingsAndroid =
    AndroidInitializationSettings('app_icon');
const IOSInitializationSettings initializationSettingsIOS =
    IOSInitializationSettings();
const InitializationSettings initializationSettings =
    InitializationSettings(
        initializationSettingsAndroid, initializationSettingsIOS);
_flutterLocalNotificationsPlugin.initialize(initializationSettings);

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

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);

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

f:id:tnantoka:20190525222634p:plain

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

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

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