Как установить значок и заголовок на главном экране Android TV для текущей задачи

Я включил режим «картинка в картинке» для приложения Android TV на основе этого руководства: https://developer.android.com/guide/topics/ui/picture-in-picture.html

Когда я вхожу в режим PiP и перехожу на главный экран главного экрана Android, вверху отображается текущая задача (окно PiP) со значком, заголовком и опциями для открытия и закрытия.

введите здесь описание изображения

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

Есть идеи, как установить (No title program) на скриншоте?

Протестировано на Android TV API 26, 27, поскольку функция «картинка в картинке» доступна только начиная с Oreo.


person anthonymonori    schedule 10.11.2017    source источник
comment
Похоже, проблема и с примером приложения googlesamples на GitHub: github.com/googlesamples/ android-PictureInPicture/issues/4   -  person anthonymonori    schedule 13.11.2017
comment
Образец был обновлен, чтобы исправить это.   -  person Benjamin    schedule 09.12.2017
comment
Спасибо Бенджамин! С вашей помощью удалось решить проблему!   -  person anthonymonori    schedule 09.12.2017


Ответы (1)


Если вы реализуете MediaSession, появится заголовок. Система оценивает MediaSession аналогично тому, как уведомления с MediaSession работают на телефонах.

Существует деятельность, демонстрирующая, как MediaSession может влиять на действия PIP в образце android-PictureInPicture. Это ошибка в образце, спасибо за регистрацию.

Чтобы заголовок отображался, вам необходимо обновить метаданные в сеансе мультимедиа.

MediaMetadataCompat metadata = new MediaMetadataCompat.Builder()
            .putString(
                 MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, 
                "Big Buck Bunny")
            ...
            .build();
mSession.setMetadata(metadata);
person Benjamin    schedule 16.11.2017