如何在Android TV主屏幕上为当前运行的任务设置图标和标题

3
我已根据此指南为基础,为一款Android TV应用启用了画中画模式:https://developer.android.com/guide/topics/ui/picture-in-picture.html。当我进入PiP模式并导航到Android主屏幕时,它会在顶部显示当前运行的任务(PiP窗口),带有图标和标题以及打开和关闭选项。enter image description here我找不到任何关于如何设置标题和图标(但最重要的是标题)的文档。我尝试设置ActivityManager.TaskDescription,但没有成功。请注意,我在清单文件中确实设置了应用程序标题,但这里没有显示。另请注意,在任务切换器中,应用程序标题和图标显示正确。您有什么想法可以设置从截图中看到的(无标题程序)吗?在Android TV API 26、27上测试过,因为画中画仅自Oreo起可用。

在GitHub上,googlesamples示例应用程序也存在问题:https://github.com/googlesamples/android-PictureInPicture/issues/4 - anthonymonori
1
示例已更新以修复此问题。 - Benjamin
谢谢你,本杰明!在你的指导下,我成功解决了这个问题! - anthonymonori
1个回答

1
如果您实现了MediaSession,标题将会出现。系统会类似于手机上带有MediaSession的通知进行评估。
在android-PictureInPicture示例中有一个演示活动可以展示MediaSession如何影响PIP操作。这是示例中的一个bug,感谢您记录它。
要让标题出现,您需要更新MediaSession的元数据。
MediaMetadataCompat metadata = new MediaMetadataCompat.Builder()
            .putString(
                 MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, 
                "Big Buck Bunny")
            ...
            .build();
mSession.setMetadata(metadata);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接