[Flutter/dart] local_notificationでアプリ再立ち上げ時に通知をリセットしない
概要
flutter_local_notificatonというライブラリを使うと簡単に通知を作成することができます。
しかし、通知を作成後一度アプリを切って、再度立ち上げると、通知がリセットされてしまい指定時刻になっても通知が届かなくなってしまいます。
解決策
実は根本的な解決策はまだないようです。なので、暫定対策として、アプリ立ち上げ時に(mainやどこかのstateのinitState()などで)毎回通知を作り直しています。
このため、通知日時は相対的(今から何時間後、など)ではなく、絶対的(何月何日何時)に指定しておきます。
最後に
ただアプリを切るだけならばちゃんと通知は来ます。どうやらアプリ立ち上げ時にリセットが入ってしまうみたいです。
AndroidManifestにxxxを書けばいい、という記事もありましたが、僕の場合はうまく行きませんでした(環境の問題?)
最新記事
すべて表示現象 アプリ内にAdmobを追加して、アプリを起動すると、下記のエラーが発生 java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider 原因 AndroidManifestの書き方が誤っていた。 <meta-data>はactivityと同じ階層にある必要が
概要 Uriを持っていて、Urlに変換したい場合の方法で少し手惑ったので共有します 方法 String url = uri.toString(); これだけです。 最後に ページを開くだけだとUriでもUrlでもいいんですが、WebViewはUrlを要求してくるんですよね。
問題 以前、日本語を含むURLを開くためには、エンコーディングしてやる必要がある、という記事を書きました。 しかし、すでにエンコーディングされているURLを再度エンコーディングしてしまうと、別のURLになってしまいます。 つまり、URLを開く処理の前に、 ・エンコーディングが必要なURLか ・すでにエンコーディングがされているか を判定しないといけないことになります。これは中々煩雑な処理です。 発