为什么 onPictureInPictureModeChanged 方法不起作用?

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

我正在尝试在我的应用程序中实现画中画 完美进入画中画模式。

问题是进入PIP模式时没有调用重写方法onPictureInPictureModeChanged方法。

我的 onPictureInPictureModeChanged 方法显示错误

重写方法应该调用 super.onPictureInPictureModeChanged

我的 minSdk 24 和 targetSdk 33

private fun pictureInPictureMode(){
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
        Log.d(TAG, "pictureInPictureMode: Supports PIP")
        val aspectRatio = Rational(videoView.width, videoView.height)
        pictureInPictureParamsBuilder!!.setAspectRatio(aspectRatio).build()
        enterPictureInPictureMode(pictureInPictureParamsBuilder!!.build())
    }
    else{
        Toast.makeText(this, "Your device doesn't supports PIP", 
        Toast.LENGTH_LONG).show()
    }
}


override fun onPictureInPictureModeChanged(
    isInPictureInPictureMode: Boolean,
    newConfig: Configuration?
) {
    super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig)
    if (isInPictureInPictureMode){
        Log.d(TAG, "onPictureInPictureModeChanged: Entered PIP")
        pipButton.visibility = View.GONE
    }
    else{
        Log.d(TAG, "onPictureInPictureModeChanged: Exited PIP")
        pipButton.visibility = View.VISIBLE
    }
}
android kotlin picture-in-picture android-picture-in-picture
1个回答
0
投票

进入PIP时不调用onPictureInPictureModeChanged方法 模式

在 AndroidManifest.xml 的 Activity 下添加以下内容

android:configChanges="keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout"
© www.soinside.com 2019 - 2024. All rights reserved.