Android アプリ開発「MATRIX」

Androidアプリの開発に役立つサンプル集


【Android 9】requires android.permission.FOREGROUND_SERVICE エラーが発生する場合の対処方法

Android 9「フォアグラウンドサービス」の変更点

Android 9 以降は「フォアグラウンドサービス」を使用する際に、マニフェストファイルでパーミッションを要求しなければなりません。パーミッションを要求しないままアプリを起動すると「requires android.permission.FOREGROUND_SERVICE」エラーが発生してアプリが強制終了します。

フォアグラウンド サービス

Android 9 以降をターゲットにするアプリは、フォアグラウンド サービスを使用する際に FOREGROUND_SERVICE パーミッションをリクエストする必要があります。 これは Normal パーミッションなので、リクエストしたアプリに自動で付与されます。

Android 9 以降をターゲットにするアプリが FOREGROUND_SERVICE をリクエストせずに、フォアグラウンド サービスの作成を試みると、システムにより、SecurityException がスローされます。

※公式開発サイトより抜粋

このエラーの対処方法

マニフェストファイルで「FOREGROUND_SERVICE」パーミッションを要求してください。

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

これでエラーによる強制終了を回避することができます。

END