画中画 打开应用程序的新窗口并显示大量最近的任务
Posted
技术标签:
【中文标题】画中画 打开应用程序的新窗口并显示大量最近的任务【英文标题】:Picture in Picture Opens new window of the app and shows tons of recent tasks 【发布时间】:2021-05-14 19:51:20 【问题描述】:我在按下后退按钮时以 PIP 模式播放我的视频。 一切顺利。视频播放完美。导航等 但问题是当我关闭 PIP 模式时。 在我最近的应用程序窗口上创建了一个新窗口。 图片。 See those white windows those are left by pip mode when i click pip mode close button.
当我关闭点子模式时,有什么办法可以解决这个问题并关闭活动,请帮忙..
【问题讨论】:
看起来就像每当您关闭 PIP 模式时,都会创建一个新的活动实例。您可以修改启动模式来解决此问题。参考:developer.android.com/guide/components/activities/… 和 developer.android.com/guide/components/activities/… 【参考方案1】:尝试在Manifest
中使用configuration
下面的Activity
以避免多个实例
<activity
android:name=".view.activities.PlayerActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|uiMode"
android:excludeFromRecents="true"
android:launchMode="singleTask"
android:resizeableActivity="false"
android:taskAffinity=".PlayerActivity"
android:supportsPictureInPicture="true"
android:windowSoftInputMode="adjustResize"
tools:targetApi="n"/>
在 PIP 模式下关闭时,finish
和 activity
的以下方法
var isInPipMode: Boolean = false
override fun onPictureInPictureModeChanged(
isInPictureInPictureMode: Boolean,
newConfig: Configuration?
)
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig)
isInPipMode = isInPictureInPictureMode
override fun onStop()
super.onStop()
if(isInPipMode)
finish()
【讨论】:
以上是关于画中画 打开应用程序的新窗口并显示大量最近的任务的主要内容,如果未能解决你的问题,请参考以下文章