如何避免Android屏幕黑屏?

时间:2012-11-12 07:47:40

标签: android screen

我开发了一个视频播放器应用程序。该应用程序将继续播放视频(并重复它们)。我想在播放时处理它,所以我需要视频一直播放但是android系统会自动将屏幕变黑,锁定屏幕或让系统处于睡眠状态。我想知道如何避免这种情况发生,即我的程序应该继续播放视频,屏幕不应该变黑。我在互联网上找到了一些解决方案,但仍然无法正常工作,感谢您的帮助。

2 个答案:

答案 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来避免系统睡眠

How to use 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"/>