Android のリリースごとに、API と動作の変更が Android Auto と Android Automotive OS でのアプリの動作に影響します。このページでは、こうした影響の多くについて詳しく説明します。また、新しいバージョンの Android をサポートするようにアプリを更新する方法についても説明します。
Android 15
- Android 15 以降をターゲットとするアプリのウィンドウの枠線の変更により、Android Automotive OS に配信されるアプリをテストして、アプリで実装されたアクティビティが意図したとおりにレンダリングされることを確認する必要があります。Android Automotive OS に固有の考慮事項について詳しくは、ウィンドウの切り欠きとディスプレイの切り欠きを使用するをご覧ください。
Android 14
- Android 14 以降をターゲットとするアプリではフォアグラウンド サービス タイプが必須であるため、アプリに存在するフォアグラウンド サービス(ナビゲーションやメディア再生など)にフォアグラウンド サービス タイプが指定されていることを確認します。
- Android 14 以降をターゲットとするアプリには、実行時に登録されたブロードキャスト レシーバでエクスポート動作を指定する必要があるという要件があるため、
CarConnection
API を使用するアプリはandroidx.car.app:app:1.3.0-beta01
以降に更新する必要があります。Connection API をご覧ください。 - Android 14 以降のデバイスで実行される Android Auto の変更により、Android Auto アプリからスマートフォンの画面でアクティビティを起動する場合は、
startActivity()
を呼び出すときに、ディスプレイ ID をスマートフォンのディスプレイの ID(DEFAULT_DISPLAY
)に設定したActivityOptions
を指定する必要があります。CarContext.requestPermissions()
メソッドを使用するアプリは、この修正を含むandroidx.car.app:app:1.7.0-alpha01
以降にアップデートする必要があります。
Android 13
- 自動車向け Android アプリ ライブラリを使用してビルドされたアプリの場合、
CarContext
によって提供されるConfiguration
のロケールは、アプリではなくホストアプリのアプリごとの言語設定を反映します。
Android 12
- Android 12 以降を搭載したデバイスでは、Android Auto の実行時にデバイスのUI モードが変更されることはありません。Android Auto が実行されているかどうかを検出するにはどうすればよいですか?をご覧ください。
- Android 12 以降をターゲットとするアプリには安全なコンポーネントのエクスポートの要件があるため、
MediaBrowserService
サービスとCarAppService
サービスの<service>
要素でandroid:exported
属性を明示的に宣言する必要があります。 - Android 12 以降をターゲットとするアプリにはペンディング インテントの可変性の要件があるため、アプリが作成するペンディング インテントの可変性を明示的に指定する必要があります。たとえば、メッセージ アプリがメッセージへの返信や既読のマーク付けを処理するために使用するペンディング インテントなどがこれに該当します。