![](/img/trans.png)
[英]Does Android delete local variables when the device is in sleep for a long time?
[英]Attempting to put Android device to sleep, but the PowerManager does not contain a "goToSleep(long) method
我试图把一个设备休眠,我发现引用各地有关使用电源管理器类的goToSleep(长)的方法,但我没有看到它在文档中,当我试图在我的代码中使用它,它不工作。
Android的文档不包含我可以看到的goToSleep方法。
我的代码:
private void sleepDevice() {
try {
PowerManager powerMgr = (PowerManager) getSystemService(Context.POWER_SERVICE);
long time = 1000;
powerMgr.goToSleep(time);
} catch (Exception ex) {
updateStatus("Error attempting to reboot device.");
updateStatus(ex.getLocalizedMessage());
}
}
Android Studio不允许代码与以下消息一起编译:“无法解析方法'goToSleep(long)。
我什至不认为此方法已被弃用。 另外,我也不必担心安全权限,该呼叫旨在在有根设备上运行,或者在无根设备上失败。
您可以使用DeviceAdministrator,但是需要用户向您授予这些权限。
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager
.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "YOUR_OWN_TAG");
wl.acquire();
wl.release();
尝试这种方式并提供一些反馈。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.