今回はFlutterにおけるエラー、「com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present」の解決方法を紹介いたします。
詳しい内容などは触れずに解決方法だけを知りたいという方には必見の内容です。
今回扱うエラー内容
今回扱うエラーの内容は以下です。
「com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present」
こちらはAndroidバージョンを31にした状態で「flutter_local_notifications: 6.1.1」を実装しようとした際に発生しました。
こちらの解決方法を紹介していきます。
エラー解決方法
今回はある一つのファイルを修正していきます。
そのファイルは「android/app/src/main/AndroidManifest.xml」です。
こちらのファイルの1行目から始まる「manifest」タグを修正します。
こちらのタグ内に、「xmlns:tools=”http://schemas.android.com/tools”」の記述を追加します。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.course"
<!-- ここから追加 -->
xmlns:tools="http://schemas.android.com/tools">
そして次に、「activity」タグが終了したタイミングで以下のコードを追加します。
</activity>
<!-- ここから追加 -->
<receiver
android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver"
android:exported="false"
tools:node="merge" />
<!-- ここまで -->
<meta-data
これら二つの修正を加えることでエラーを解消することができます。
おわりに
今回はFlutterにおけるエラー、「com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present」の解決方法を紹介させていただきました。
Androidのバージョンを変えたタイミングで「flutter_local_notifications」のライブラリとのミスマッチでエラーが発生してしまいました。
初めはどのように解決すればいいかわからなかったのですが、下記issueを参考にすることで解決することができました。
同じエラーで行き詰っていた方の手助けになれば幸いです。
当ブログではプログラミングの学習に関する記事を執筆しております。よければ他のFlutter関連の記事も合わせてご覧ください。
最後まで読んでくださりありがとうございました。
コメント