2015-12-15 46 views
1

我想让我的Android设备进入睡眠状态(屏幕关闭),有人想法该怎么做?Android要睡觉(待机)

  • 在过去,我用的是PowerManager功能goToSleep(time),但显然这个功能已经不存在了,我不明白为什么。

  • 其他主题谈论这些线路:

    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
        wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My wakelook"); 
        wakeLock.acquire(); 
    

但它只允许进入睡眠模式的设备,瞒着他去睡觉模式现在。

  • 我已经尝试过其中包括减少屏幕的亮度的解决方案,但它不是,因为该设备并没有真正进入睡眠模式,真正解决问题。而且我不希望使用下面的代码:

    android.provider.Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, timeoutInactivity); 
    

    ,因为我不想触摸屏幕显示设置,它更是一个解决办法比的解决方案。

PS:这是一个系统应用程序,所以我没有任何权限限制。

+0

有一个在电源管理类goToSleep(时间)的方法。只要检查一下就可以了。但是睡觉时应该断开USB源。 –

+0

感谢您的回答。不幸的是,我正在使用API​​23,goToSleep(long)已被删除。当我尝试“pm.goToSleep(10);”时,android studio告诉我“无法解析方法goToSleep(long)”。 – Stochelo

+0

检查[此问题](http://stackoverflow.com/q/28459287/1276636)。我认为那里的评论会有帮助。 – Sufian

回答

0
private PowerManager mPowerManager; 
private PowerManager.WakeLock mWakeLock; 

public void sleep(){ 
     mWakeLock = mPowerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, "tag"); 
     mWakeLock.acquire(); 
} 

试试这个

+0

谢谢,但不幸的是,这并没有使屏幕关闭。 – Stochelo