Android のリリースごとに、API と動作の変更が Android Auto と Android Automotive OS でのアプリの動作に影響します。このページでは、こうした影響の多くについて詳しく説明し、新しいバージョンの Android をサポートするようにアプリを更新する方法について説明します。
Android 16
- Android Auto は、停車中のアプリを実行する際に、向き、アスペクト比、サイズ変更の制限を無視するために、仮想デバイス オーナーのオーバーライドを使用します。
- アプリで より安全なインテントの Android 16 アップデートを使用している場合は、Android Auto と Android Automotive OS がサービスに接続できるように、
CarAppService
の<service>
要素のandroid:intentMatchingFlags
属性をallowNullAction
として指定する必要がある場合があります。
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 がスマートフォンのディスプレイ(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 以上をターゲットとするアプリのペンディング インテントの可変性の要件により、アプリで作成されるペンディング インテントの可変性を明示的に指定する必要があります。たとえば、メッセージ アプリがメッセージへの返信やメッセージの既読マークの処理に使用するペンディング インテントなどです。