Приложение не распознается Android Auto

Итак, я следовал официальному руководству здесь https://developer.android.com/training/auto/start/index.html чтобы создать очень простое приложение Android Auto Audio. На данный момент он ничего не делает, кроме объявления того, что должно быть объявлено в манифесте, и реализации пустого onGetRoot() а также onLoadChildren(),

Проблема в том, что оно не распознается приложением Android Auto.

Есть идеи, где взять рабочий пример? Что может быть не так?

Manifest:

<service
    android:name=".MyService"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name=
            "android.media.browse.MediaBrowserService"/>
    </intent-filter>
</service>

automotive_app_desc.xml:

<automotiveApp>
        <uses name="media" />
 </automotiveApp>

оказание услуг:

public class MyService extends MediaBrowserServiceCompat {
public static final String MEDIA_ID_ROOT = "__ROOT__";

@Override
public BrowserRoot onGetRoot(String clientPackageName, int clientUid,
                             Bundle rootHints) {

    //TODO: check if the client is allow access

    return new BrowserRoot(MEDIA_ID_ROOT, null);
}

@Override
public void onLoadChildren(final String parentMediaId,
                           final Result<List<MediaBrowserCompat.MediaItem>> result) {

    // Assume for example that the music catalog is already loaded/cached.

        List<MediaBrowserCompat.MediaItem> mediaItems = new ArrayList<>();

    // Check if this is the root menu:
    if (MEDIA_ID_ROOT.equals(parentMediaId)) {

        // build the MediaItem objects for the top level,
        // and put them in the mediaItems list
    } else {

        // examine the passed parentMediaId to see which submenu we're at,
        // and put the children of that menu in the mediaItems list
    }
    result.sendResult(mediaItems);
}

1 ответ

Вам нужно перейти в настройки Android Auto, нажать много раз на запись Версия (последняя), чтобы разблокировать настройки разработчика. Затем нажмите на пункт меню настроек разработчика и включите Неизвестные источники. Перезапустите Android Auto, и если с вашим приложением все в порядке, оно появится в списке. Работал на меня

Я не видел, чтобы это было включено в ваш фрагмент из манифеста, но дважды проверьте, что эта строка также там.

<application>
    ...
    <meta-data android:name="com.google.android.gms.car.application"
    android:resource="@xml/automotive_app_desc"/>
    ...
</application>

Я создал образец приложения, соответствующего всему, что у вас есть (плюс строка выше), и он появляется в Android Auto на мобильном устройстве, а также на настольном головном устройстве.

Другие вопросы по тегам