我开发了一个视频播放器应用程序。该应用程序将继续播放视频(并重复它们)。我想在播放时处理它,所以我需要视频一直播放但是android系统会自动将屏幕变黑,锁定屏幕或让系统处于睡眠状态。我想知道如何避免这种情况发生,即我的程序应该继续播放视频,屏幕不应该变黑。我在互联网上找到了一些解决方案,但仍然无法正常工作,感谢您的帮助。
答案 0 :(得分:2)
尝试使用:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
或只是:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
编辑: 根据这个链接:How do I prevent an Android device from going to sleep programmatically?。你应该使用:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();
..screen will stay on during this section..
wl.release();
您还需要确保在Manifest中设置了WAKE_LOCK权限。
答案 1 :(得分:0)
您可以使用PowerManager
来避免系统睡眠
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
//恢复或启动应用时
protected void onResume()
{
wl.acquire();
super.onResume();
}
在onPause()
中你应该释放唤醒锁定,以避免耗尽更多电池
protected void onPause()
{
wl.release();
super.onPause();
}
最后,不要忘记许可
<uses-permission android:name="android.permission.WAKE_LOCK"/>