Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从MediaSessionManager创建MediaController实例?_Android_Android 5.0 Lollipop - Fatal编程技术网

Android 如何从MediaSessionManager创建MediaController实例?

Android 如何从MediaSessionManager创建MediaController实例?,android,android-5.0-lollipop,Android,Android 5.0 Lollipop,我正在尝试为棒棒糖从RemoteController移动到MediaController,但在获取MediaController实例时遇到问题。在MediaController中,它说: 如果您持有android.permission.MEDIA_CONTENT_CONTROL权限,或者是已启用的通知侦听器,或者直接从会话所有者处获取MediaSession.Token,则可以通过MediaSessionManager创建MediaController 但是,当我查看MediaSessionMa

我正在尝试为棒棒糖从RemoteController移动到MediaController,但在获取MediaController实例时遇到问题。在MediaController中,它说:

如果您持有android.permission.MEDIA_CONTENT_CONTROL权限,或者是已启用的通知侦听器,或者直接从会话所有者处获取MediaSession.Token,则可以通过MediaSessionManager创建MediaController

但是,当我查看MediaSessionManager时,除了addOnActiveSessionsChangedListener、getActiveSessions和removeOnActiveSessionsChangedListener之外,没有其他方法可以帮助我。 我尝试从MediaSession创建令牌,但这无法使我的回调从其他媒体播放器获取任何信息。

提供了与当前播放的音乐播放器关联的MediaController实例列表。然后,您可以使用注册已创建的实现,该实现具有与不推荐的实现类似的回调,或者直接将媒体控件发送回MediaController


当然,在大多数情况下,您希望使MediaController列表与系统保持同步:这就是它的用途:它会为您提供一个要使用的MediaController的更新列表,并在每次播放机列表更改时调用。根据文档,如果您使用的是该权限,则可以为ComponentName notificationListener参数传入null。

我尝试过:List Controller=mediaSessionManager.GetActiveSessionNew ComponentName GetPackageName,ListenerService.class;如果我尝试传递null,也会失败。错误:java.lang.SecurityException:缺少控制媒体的权限。我有许可,所以你有NotificationListener服务?它可以访问通知检查设置->声音和通知->通知访问?此外,您还应该使用新的ComponentNamegetPackageName、ListenerService.class,因为字符串版本采用完全限定的类名。非常感谢!需要做ListenerService.class.getName但它可以工作啊,我想你应该使用,但是如果可以的话,太好了!请注意,addOnActiveSessionsChangedListener的权限仅限于系统和供应商应用程序