MediaControllerCompat 和 MediaSessionCompat Android X?

Vin*_*nce 5 java android android-mediasession androidx

我对 MediaControllerCompat 和 MediaSessionCompat 的导入

import android.support.v4.media.session.MediaControllerCompat;
import android.support.v4.media.session.MediaSessionCompat;

private MediaSessionCompat mMediaSessionCompat;
private MediaControllerCompat.TransportControls mTransportControls;
Run Code Online (Sandbox Code Playgroud)

我最近将我的项目迁移到 Android X,但这些导入在迁移时没有改变,而是将其添加到我的 gradle 依赖项中。

implementation 'androidx.legacy:legacy-support-v4:1.0.0'
Run Code Online (Sandbox Code Playgroud)

现在我想知道为什么他们没有更改为 Android X,我搜索了MediaControllerCompat 和 MediaSessionCompat的 android x 依赖项,但我找不到它们。

ian*_*ake 3

这是有意的行为:在进程之间传递的类(例如MediaSessionCompat.TokenextendsParcelable或MediaControllerCompat.CallbackImplements IBinder.DeathRecipient)无法移动到新包,而不破坏非 AndroidX 项目和 AndroidX 项目之间的交叉兼容性。因此这些类必须保留在原始包中。

这可以通过查看支持库类映射来确认,这表明这些特定类保持其现有的包结构。