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 アプリ ライブラリを使用する Android Automotive OS 向けアプリは、 バージョン 1.7.0-rc01 以降に更新する必要があります。これにより、権限ダイアログがトリガーされたときに、 安全なバックグラウンド アクティビティの起動の変更によって発生する可能性がある、Android 15 以降での実行時のクラッシュを防ぐことができます。
Android 15 以降をターゲットとするアプリのウィンドウ インセットの変更により、Android Automotive OS に配信されるアプリをテストして、 アプリで実装されたアクティビティが意図したとおりにレンダリングされることを確認する必要があります。Android Automotive OS に固有の考慮事項について詳しくは、ウィンドウ インセットとディスプレイ カットアウトを使用するをご覧ください。
Android 14
- Android 14 以降をターゲットとするアプリでは フォアグラウンド サービス タイプが必須であるため、ナビゲーションやメディア再生などのアプリのフォアグラウンド サービスにフォアグラウンド サービス タイプを指定していることを確認してください。
- Android 14 以降をターゲットとするアプリでは、
実行時に登録されたブロードキャスト レシーバでエクスポート動作を指定する必要があるため、アプリ
が
CarConnectionAPI を使用する場合は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 アプリ ライブラリを使用してビルドされたアプリの場合、
Configurationによって提供されるCarContextのロケールは、アプリのロケールではなく、ホストアプリの アプリごとの 言語設定 を反映します。
Android 12
- Android 12 以降を搭載したデバイスでは、Android Auto は実行時にデバイスの UI モードを変更しません。Android Auto が実行されているかどうかを検出するにはどうすればよいですか?をご覧ください。
- Android 12 以降をターゲットとするアプリでは、コンポーネントのエクスポートをより安全に行うための要件があるため、
MediaBrowserServiceサービスとCarAppServiceサービスの<service>要素でandroid:exported属性を明示的に宣言する必要があります。 - Android 12 以降をターゲットとするアプリでは、ペンディング インテントの可変性に関する要件があるため、メッセージ アプリがメッセージへの返信やメッセージの既読マークの処理に使用するペンディング インテントなど、アプリで作成されたペンディング インテントの可変性を明示的に指定する必要があります。