gpt4 book ai didi

android - 如何检查 Activity 是否可见? onResume 还不够

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:22:19 26 4
gpt4 key购买 nike

我的一个 Activity 嵌入了 VideoView 来播放一些内容。我分别在 onPause()onResume() 中实现了暂停/恢复视频,但令我惊讶的是 - onResume 在 Activity 之前被调用对用户来说是真正可见的。

准确的说,场景是这样的:

  • Activity 在屏幕上,视频正在播放
  • 用户使用电源按钮锁定手机
  • Activity 调用 onPause(),视频停止
  • 用户按下电源按钮
  • activity onResume() 被调用(因此恢复视频)在用户解锁屏幕之前

我在 Android 2.2、2.3 和 4.0 中确认了此行为。我猜这是故意这样做的,让 Activity 准备在锁定屏幕消失后立即重绘。

如何检测 Activity 实际出现在用户面前的时刻?我尝试等待 onWindowFocusChanged(true) 被调用,它似乎有效,但它并没有让我感到绝对安全。

最佳答案

您需要等待 onWindowFocusChanged 事件和 OnResume 事件。这是一个众所周知的问题,在 Android 4.1+ 中不再出现。详情请访问 http://android-developers.blogspot.co.uk/2011/11/making-android-games-that-play-nice.html

关于android - 如何检查 Activity 是否可见? onResume 还不够,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com