尝试将Android设备置于睡眠状态,但PowerManager不包含"goToSleep(long)方法"



我正试图让设备进入睡眠状态,我在所有地方都找到了关于使用PowerManager类的goToSleep(long)方法的参考,但我在文档中没有看到它,当我试图在代码中使用它时,它也不起作用。

安卓的文档中没有我能看到的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();

尝试这种方式并给出一些反馈。

最新更新