试图让Android设备进入hibernate状态,但PowerManager不包含“goToSleep(long)方法”
我试图让一个设备进入睡眠状态,我已经找到了关于使用PowerManager类的goToSleep(long)方法的参考文献,但我没有在文档中看到它,当我尝试在我的代码中使用它时它不起作用。
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)。
我甚至不认为这种方法已被弃用。 此外,我不需要担心安全权限,该调用旨在在root设备上运行或在非root设备上优雅地失败。
您可以使用DeviceAdministrator,但您需要用户授予您这些权限。
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl = manager .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "YOUR_OWN_TAG"); wl.acquire(); wl.release();
试试这种方式并提供一些反馈。