Android Auto および Android Automotive OS(AAOS)と統合するようにアプリのマニフェスト ファイルを構成します。これらのプラットフォームによる検出と接続を有効にするには、マニフェストでメディア ブラウザ サービスを宣言します。メディア コントロールなどのシステム UI コンポーネントで使用されるアトリビューション アイコンのランチャー アイコンなど、必要なアプリアイコンを指定します。
マニフェスト ファイルの詳細については、アプリ マニフェストの概要をご覧ください。
メディア ブラウザ サービスを宣言する
Android Auto と AAOS は、メディア アイテムをブラウズするために、メディア ブラウザ サービスを介してアプリに接続します。マニフェストでメディア ブラウザ サービスを宣言し、Android Auto と AAOS がサービスを検出してアプリに接続できるようにします。
次のコード スニペットは、マニフェストでメディア ブラウザ サービスを宣言する方法を示しています。このコードは、AAOS モジュールのマニフェスト ファイルと、スマートフォン アプリのマニフェスト ファイルに追加する必要があります。
<application>
...
<service android:name=".MyMediaBrowserService"
android:exported="true">
<intent-filter>
<action android:name="android.media.browse.MediaBrowserService"/>
</intent-filter>
</service>
...
</application>
アプリアイコンを指定する
システム UI でアプリを表示するには、Android Auto と AAOS が使用するアプリアイコンを指定します。次の 2 つのアイコンが必要です。
ランチャー アイコンを定義する
ランチャー アイコンは、ランチャーやアイコンのトレイなどのシステム UI で、アプリを表すアイコンです。次のマニフェスト宣言を使用することで、モバイルアプリのアイコンを使用して自動車メディアアプリを表すように指定できます。
<application
...
android:icon="@mipmap/ic_launcher"
...
/>
モバイルアプリとは異なるアイコンを使用するには、マニフェストでメディア ブラウザ サービスの <service>
要素に android:icon
プロパティを設定します。
<application>
...
<service
...
android:icon="@mipmap/auto_launcher"
...
/>
</application>
アトリビューション アイコンを定義する
アトリビューション アイコンは、メディアカードなど、メディア コンテンツが優先される場所で使用されます。通知用の小さなアイコンを再利用することを検討してください。 このアイコンはモノクロにする必要があります。
図 1. メディアカードのアトリビューション アイコン。
次のマニフェスト宣言を使用して、アプリを表すために使用するアイコンを指定できます。
<application>
...
<meta-data
android:name="androidx.car.app.TintableAttributionIcon"
android:resource="@drawable/ic_status_icon" />
...
</application>