【问题标题】:Android going to sleep (standby)Android 进入睡眠状态(待机)
【发布时间】:2015-12-15 09:25:11
【问题描述】:

我想让我的安卓设备进入睡眠状态(屏幕关闭),有人知道怎么做吗?

  • 以前我用的是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:这是系统应用,所以我没有任何权利/权限限制。

【问题讨论】:

  • 电源管理器类中有一个 goToSleep(time) 方法。只需检查一下即可。但是对于睡眠,您应该断开 USB 源。
  • 感谢您的回答。不幸的是,我正在使用 API23 并且 goToSleep(long) 已被删除。当我尝试“pm.goToSleep(10);”时,android studio 告诉我“无法解析方法 goToSleep(long)”。
  • 检查this question。我认为那里的 cmets 会有所帮助。
  • 谢谢,很遗憾我没有找到适用于该主题的解决方案。

标签: android sleep standby


【解决方案1】:
private PowerManager mPowerManager;
private PowerManager.WakeLock mWakeLock;

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

试试这个

【讨论】:

  • 谢谢,但不幸的是,这不会使屏幕关闭。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-14
  • 2012-03-29
  • 1970-01-01
相关资源
最近更新 更多