繁体   English   中英

如何以编程方式在android中关闭屏幕

[英]how can I turn off screen in android programmatically

我想关掉屏幕。 所以我试着用 PowerManager 类来做,但它没有关闭屏幕。

PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();

您可以通过覆盖系统屏幕关闭时间来关闭屏幕。

首先获取系统关闭时间

int defaultTurnOffTime =  Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 60000);

然后把你的关机时间

Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 1000);

当屏幕关闭时,设置默认关闭时间

Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, defaultTurnOffTime);

添加以下权限

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

从问题中不清楚您是否尝试过此操作,但您可能需要确保清单中有 :

任何使用 WakeLock 的应用程序都必须在应用程序清单的元素中请求 android.permission.WAKE_LOCK 权限。

您可能会查看的另一个区域是 logcat,以查看是否记录了任何堆栈跟踪或错误,这可以为人们提供更多上下文以提供帮助。

@SuperDev ,将以下内容添加到您的清单中:

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

这将解决您的应用程序崩溃问题。

希望能帮助到你 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM