我开发了一个视频播放器应用程序。该应用程序将继续播放视频(并重复播放)。我想在播放时处理它,所以我需要视频一直播放,但 android 系统会自动使屏幕变黑、锁定屏幕或使系统进入睡眠状态。我想知道如何避免这种情况发生,即我的程序应该继续播放视频并且屏幕不应该变黑。我在互联网上找到了一些解决方案,但仍然不起作用,感谢您的帮助。
尝试使用:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
或只是:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
编辑: 根据此链接:如何防止Android设备以编程方式进入睡眠状态?您应该使用:
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();
您还需要确保在清单中设置了WAKE_LOCK权限。
您可以使用
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"/>