我有一个MediaPlayer在播放视频,并且一切正常,除了锁定屏幕然后解锁时,视频将重新启动。
目前我正在使用
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
它可以工作,但是如果您按“主页”按钮,您将无法锁定屏幕,因为该应用程序已将其关闭。您是否知道一种无需使用KeyGuardLock即可保持视频进度的更好方法?
最佳答案
除了KeyGuard,您还可以在布局xml中的android:keepScreenOn=true
上简单地使用VideoView
。
对于后一部分,您必须将视频的进度保存在onSaveInstanceState()
中,并将进度数据加载到onRestoreInstanceState()
中,然后才可以在视频中使用seekTo(progress)
和刚获取的数据。
另外,如果是新播放,请不要忘记在onRestoreInstanceState()
中检查是否为空。