Android中MediaSessionCompat和MediaSession有什么区别?为什么 androidx.media2 和 androidx.media 都存在?

问题描述 投票:0回答:1

我已经使用 Kotlin 开始了新的 Android 应用程序项目。我的 SDK gradle 配置是

compileSdkVersion
29 和
buildToolsVersion
“29.0.1”

我尝试制作一个功能,即蓝牙耳机的重新映射按钮。所以我发现我必须处理

ACTION_MEDIA_BUTTON

看起来 MediaSession 晚于 MediaSessionCompat。但我不知道我应该用什么。

关于androidx。我想知道为什么他们把包裹分成

androidx.media
androidx.media2

android android-studio kotlin android-jetpack
1个回答
4
投票

我找到了。

假设您使用的 kotlin 至少为 API 级别 28 SDK 版本。

根据 https://developer.android.com/guide/topics/media-apps/media-apps-overview#compat-library MediaSessionCompat 是一个向后移植,用于支持早于 Android 4.1(API 级别 16)以及 android 5.0发布MediaSession出来了。

AndroidX 是android 支持库的下一个库。它需要 Android 9.0(API 级别 28)。

在 androidx 中,包 androidx.media 用于支持兼容性,包 androidx.media2 是 android.media.* 的下一个版本,添加了 API 级别 21。例如 MediaSession

所以如果你想使用 android.support.v4.media.session 包中的一些类,它是媒体兼容库。您应该在

implementation 'com.android.support:support-media-compat:28.0.0'
 中添加 
build.gradle

© www.soinside.com 2019 - 2024. All rights reserved.