-2

如何通过媒体控制器(android.media.session.MediaController)恢复用户活动的所有(或几乎)会话数据。至少 Youtube 和 GP Music?

我无法从媒体控制器获取 GPMusic(空)的未决意图。来自 Youtube 的 Intent 只能恢复主屏幕(我想恢复视频和位置)

List<MediaController> list = mgr.getActiveSessions(new ComponentName(getApplicationContext().getPackageName(), TestService.class.getName()));
...
PendingIntent pIntent = currentController.getSessionActivity() 
pIntent.send();
4

1 回答 1

0

Android TV 开发者社区对此进行了讨论。看看这篇文章: https: //plus.google.com/u/1/110913444113360071708/posts/HDs8UsyQwxL

从 MediaController 您可以获取 Session 活动以启动到应用程序中。如果你没有看到它,那么应用程序没有正确使用 MediaSession,你可以使用包名启动应用程序。您也可以从控制器获取包名称: mediaSessionController.getPackageName()

如果您正确实现了 OnActivieSessionsChangedListener(如果您做到了这一步,听起来就像您拥有的那样),那么其余的取决于应用程序正确维护和更新其 MediaSessions。可悲的是,有很多应用程序不能 100% 正确地维护其 MediaSession。他们可能没有更新他们的元数据、播放状态,甚至没有正确注销他们的会话。每个应用程序的行为可能会有所不同,具体取决于它们对 MediaSession 的投入程度。

于 2017-12-06T17:10:18.730 回答