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