gpt4 book ai didi

android - 如何获得android.Manifest.permission.MEDIA_CONTENT_CONTROL的android权限

转载 作者:太空狗 更新时间:2023-10-29 12:40:08 76 4
gpt4 key购买 nike

我正在尝试使用 API21 中的 MediaSessionManager 来控制设备上的音乐播放。对于用法,它说需要持有 android.Manifest.permission.MEDIA_CONTENT_CONTROL:

public void addOnActiveSessionsChangedListener (MediaSessionManager.OnActiveSessionsChangedListener sessionListener, ComponentName notificationListener, Handler handler)

Added in API level 21
Add a listener to be notified when the list of active sessions changes.***This requires the android.Manifest.permission.MEDIA_CONTENT_CONTROL permission be held by the calling app.*** You may also retrieve this list if your app is an enabled notification listener using the NotificationListenerService APIs, in which case you must pass the ComponentName of your enabled listener. Updates will be posted to the handler specified or to the caller's thread if the handler is null.

我没有通知服务。但是通过添加 <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>在 AndroidManifest.xml 中,并使用 PackageManager.PERMISSION_GRANTED == context.checkCallingOrSelfPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) 检查代码中的权限它始终返回 false,应用程序将因安全异常而崩溃。

如何正确获取权限?我查看权限介绍,

public static final String MEDIA_CONTENT_CONTROL

Added in API level 19
Allows an application to know what content is playing and control its playback.

***Not for use by third-party applications due to privacy of media consumption***

Constant Value: "android.permission.MEDIA_CONTENT_CONTROL"

是不是“不给第三方应用使用”权限不同,普通应用拿不到?

最佳答案

不幸的是,此权限仅限于系统应用程序(作为系统镜像一部分的应用程序)或属于设备供应商的应用程序(即应用程序签名必须与平台的签名相同)。因此,对于第三方应用,这是不允许的。

关于android - 如何获得android.Manifest.permission.MEDIA_CONTENT_CONTROL的android权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27633509/

76 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com