Приложение не распознается 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 на мобильном устройстве, а также на настольном головном устройстве.