MediaSessionCompat 行为在 Android 12 中发生了变化,setPlaybackToRemote 停止正常工作
MediaSessionCompat behaviour changed in Android 12 and setPlaybackToRemote stopped working properly
在 Android 12 之前,我使用下面的代码来检测按下物理音量按钮以显示我的自定义 UI,但它停止在 Android 12 台设备和 onAdjustVolume
当我按下音量按钮时永远不会被调用:
mediaSessionCompat = MediaSessionCompat(context, "My App")
mediaSessionCompat?.isActive = true
mediaSessionCompat?.setPlaybackState(
PlaybackStateCompat.Builder()
.setState(PlaybackStateCompat.STATE_PLAYING, PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN, 1f)
.build())
mediaSessionCompat?.setPlaybackToRemote(object :
VolumeProviderCompat(VOLUME_CONTROL_ABSOLUTE, 7, 4) {
override fun onAdjustVolume(direction: Int) {
Log.v("My App", "Volume adjusted")
}
})
请检查此 link:
https://issuetracker.google.com/issues/201546605?pli=1
根据他们的说法,Google 似乎是因为“隐私更改”而更改了它,但应该会在下一个版本中恢复(没人知道什么时候)。
在 Android 12 之前,我使用下面的代码来检测按下物理音量按钮以显示我的自定义 UI,但它停止在 Android 12 台设备和 onAdjustVolume
当我按下音量按钮时永远不会被调用:
mediaSessionCompat = MediaSessionCompat(context, "My App")
mediaSessionCompat?.isActive = true
mediaSessionCompat?.setPlaybackState(
PlaybackStateCompat.Builder()
.setState(PlaybackStateCompat.STATE_PLAYING, PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN, 1f)
.build())
mediaSessionCompat?.setPlaybackToRemote(object :
VolumeProviderCompat(VOLUME_CONTROL_ABSOLUTE, 7, 4) {
override fun onAdjustVolume(direction: Int) {
Log.v("My App", "Volume adjusted")
}
})
请检查此 link: https://issuetracker.google.com/issues/201546605?pli=1
根据他们的说法,Google 似乎是因为“隐私更改”而更改了它,但应该会在下一个版本中恢复(没人知道什么时候)。