繁体   English   中英

试图使Android设备进入睡眠状态,但是PowerManager不包含“ goToSleep(long)方法”

[英]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.

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