2017-02-06 236 views
1

嗨,我正在創建一個鬧鐘應用程序,目前有一些問題與Wakelock打交道(或者也可能是其他事情),並且在手機睡着時使鬧鐘工作,但是我的問題並不是真的關於Wakelock,而是關於如何讓手機進入睡眠狀態,以便測試我想要在我的鬧鐘應用中實現的各種選項。目前,我必須等待電話進入睡眠狀態,然後才能測試我的代碼。那麼有沒有辦法讓手機進入深度睡眠programmaticaly?讓Android進入睡眠狀態

回答

3

我在開發工作中遇到了同樣的問題。 Android的文檔是不是很有用 - 用ADB切換到休眠模式(深睡眠):

adb shell dumpsys deviceidle force-idle 

和同樣有用,使用: 亞行外殼dumpsys deviceidle一步 要回到「正常」模式。簡要介紹:

adb shell dumpsys -l #(lower case "L") list subsystems (deviceidle is one) 

則:

adb shell dumpsys deviceidle -h #parameters with brief description 

此外,亞行需要訪問到您的設備(或模擬器)來獲取這些信息。祝你好運!

+0

看起來你發現它!但是你把那個命令行放在哪裏?我無法在android中看到ARG行! – Phil

+0

Hi @Phil,** adb **進入調試電腦的終端。因此,如果您安裝了** adb **(它附帶Android SDK,請檢​​查路徑,它可能不在您的搜索路徑中)以及通過USB連接的啓用調試功能的手機,那麼您應該沒問題(它默認爲到唯一的設備,如果只有一個)。 ** adb **操作與您的調試會話並行發生。 還有更多選擇:嘗試** adb -h **瞭解更多細節。這是否回答你的問題? – Doug

+0

非常感謝! – Phil

0

可以通過以下步驟進行測試打盹模式/深度睡眠模式:

  1. 配置的硬件設備或虛擬設備可與Android 6.0 (API級23)或更高的系統的圖像。
  2. 將設備連接到您的開發機器並安裝您的應用程序。
  3. 運行您的應用程序並保持活動狀態。
  4. 通過運行以下命令強制系統進入閒置模式:

    $ adb shell dumpsys deviceidle force-idle

  5. 當運行以下命令準備好了,退出空閒模式:

    $ adb shell dumpsys deviceidle unforce

  6. 觀察重新激活設備後,您的應用的行爲。

相關問題