Форум для тех, кто программирует под Android
Anonymous
Android Auto, вызывающий result.detach() в существующем списке, нарушает функциональность
Сообщение
Anonymous » 28 окт 2025, 20:15
У меня есть мультимедийное приложение Android Auto. При вызове result.detach() в существующем списке функция «Сейчас исполняется» не работает:
Код: Выделить всё
@Override
public void onLoadChildren(@NonNull String parentId, @NonNull Result result) {
if (parentId = "getitems")
{
GetRemoteItems()
result.detach(); //calling this again breaks the "Now Playing" fuctionality
{
else if (parentId = "setitems") {
List items = GetItems();
for (Item item : items){
mediaItems.add(new MediaBrowserCompat.MediaItem(new MediaDescriptionCompat.Builder()
.setMediaId(String.valueOf(item.getId()))
.setMediaUri(Uri.parse(item.getMediaUrl().toString()))
.setTitle(item.getTitle()).build(), MediaBrowserCompat.MediaItem.FLAG_PLAYABLE));
}
result.sendResult(mediaItems);
}
}
При нажатии кнопки «Назад» onLoadChildren вызывается снова:
Нажатие кнопки «Назад» должно выглядеть следующим образом:
но вызов result.detach() нарушает функциональность "Сейчас исполняется":
Подробнее здесь:
https://stackoverflow.com/questions/798 ... ctionality
1761671755
Anonymous
У меня есть мультимедийное приложение Android Auto. При вызове result.detach() в существующем списке функция «Сейчас исполняется» не работает: [code]@Override public void onLoadChildren(@NonNull String parentId, @NonNull Result result) { if (parentId = "getitems") { GetRemoteItems() result.detach(); //calling this again breaks the "Now Playing" fuctionality { else if (parentId = "setitems") { List items = GetItems(); for (Item item : items){ mediaItems.add(new MediaBrowserCompat.MediaItem(new MediaDescriptionCompat.Builder() .setMediaId(String.valueOf(item.getId())) .setMediaUri(Uri.parse(item.getMediaUrl().toString())) .setTitle(item.getTitle()).build(), MediaBrowserCompat.MediaItem.FLAG_PLAYABLE)); } result.sendResult(mediaItems); } } [/code] При нажатии кнопки «Назад» onLoadChildren вызывается снова: [img]https://i.sstatic.net/4agz7mOL.png[/img] Нажатие кнопки «Назад» должно выглядеть следующим образом: [img]https://i.sstatic.net/xValuCDi.png[/img] но вызов result.detach() нарушает функциональность "Сейчас исполняется": [img]https://i.sstatic.net/65orgUUB.png[/img] Подробнее здесь: [url]https://stackoverflow.com/questions/79803078/android-auto-calling-result-detach-on-an-existing-list-breaks-functionality[/url]