我的一项活动嵌入VideoView
播放一些内容。onPause()
我分别在和中实现了暂停/恢复视频onResume()
,但令我惊讶的是 -onResume
在活动对用户真正可见之前被调用。
确切地说,场景如下:
- 活动在屏幕上,正在播放视频
- 用户使用电源按钮锁定手机
- 活动被
onPause()
调用,视频停止 - 用户按下电源按钮
- 在用户解锁屏幕之前调用活动
onResume()
(并因此恢复视频)
我在 Android 2.2、2.3 和 4.0 中确认了这种行为。我想这是故意这样做的,让活动准备在锁定屏幕消失后立即重绘自己。
如何检测活动实际出现在用户面前的时刻?我试图等待onWindowFocusChanged(true)
被叫,它似乎工作,但它并没有让我感到完全安全。