android - 在 Android 上关闭屏幕

标签 android wakelock android-wake-lock

我正在尝试在某些操作发生后打开和关闭显示器(让我们暂时担心关闭屏幕)。根据我对唤醒锁的理解,这就是我所拥有的:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);    
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");

当我在 stackoverflow 和其他地方阅读其他帖子时,他们似乎告诉我 PARTIAL_WAKE_LOCK 会关闭屏幕。但是,如果我阅读 SDK,它会说它只允许关闭屏幕。我认为这是不对的。

最佳答案

关闭屏幕有两种选择:

PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);

// Choice 1
manager.goToSleep(int amountOfTime);

// Choice 2
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();

您可能也需要此权限:

<uses-permission android:name="android.permission.WAKE_LOCK" />

更新:

试试这个方法;一旦光线足够低,android就会关闭屏幕。

WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);

关于android - 在 Android 上关闭屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6756768/

相关文章:

java - 具有部分唤醒锁的后台重复线程的android服务

android - 当屏幕在 Android 中被阻止时?

android - AlarmManager 没有按时触发

Android.view.InflateException : Binary XML file line #25: Error inflating class ImageButton, 资源 NotFoundException,XmlPullParserException

android - android oreo 上的通知 - 动态启用声音/振动

android - 我是否需要使用 AlarmManager 和 WakeLock 才能定期使用 LocationClient?

android - BroadcastReceiver、服务和唤醒锁

android - 抽屉导航样式 API 8

android - xml 属性 singleLine 在 Android 中是否已弃用?

Android服务器联系服务保活