flutterでflutter_local_notificationsを使うためのManifest設定

Posted by roadman on Thursday, February 14, 2019

TOC

説明

  • flutterでflutter_local_notificationsを使って、スケジュール設定された通知などを行いたい時、コードを書くだけでなく、androidの場合はmanifest設定も必要なので、調べた内容とともにメモ。基本的には公式ドキュメントにも記載されているので、そちらを読んでもらった方が正確だが一応。あと、pluginに同梱されているexampleプロジェクトにも同じ設定があるのでそれを見てもいい。

flutter_local_notifications | Flutter Package

  • スケジュール通知を行う場合は、androidでは以下のmanifestで権限設定をする必要がある。ちなみに、BOOT_COMPLETEDというのはAndroidOSの起動時にブロードキャストされる「android.intent.action.BOOT_COMPLETED」というイベントのこと。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  • また、以下はそのスケジュールを受け取るためのレシーバー。
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
    </intent-filter>
</receiver>
  • あとスケジュール通知を表示するためには、以下のレシーバーをmanifestに設定する必要がある。
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" />
  • 通知パターンでバイブレーションを使う場合は以下のmanifestを設定する必要がある。
<uses-permission android:name="android.permission.VIBRATE" />