Код: Выделить всё
public class MediaPlayerService extends MediaBrowserServiceCompat
{
List items = new ArrayList();
Hander autoHandler = new Hander();
boolean dataReady;
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onLoadChildren(@NonNull String parentId, @NonNull Result result)
{
if (parentId == "getdata")
{
Runnable autoRunnable = new Runnable() {
public void run() {
if (dataReady) {
List mediaItems = new ArrayList(items.size());
for (Item items : 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);
} else {
autoHandler.postDelayed(this, 1000);
}
}
};
FetchData(); //populated items List and set `dataReady` when complete
result.detach();
autoHandler.post(mAutoDataReadyCheck);
}
}
}

Нажатие кнопки «Назад» должно выглядеть следующим образом:

но вызов result.detach() нарушает функциональность "Сейчас исполняется":

Подробнее здесь: https://stackoverflow.com/questions/798 ... ctionality