我已經構建了一個Android Wear應用程序,需要連續測量運動(加速度計)傳感器一個小時左右才能進行數據收集。在操作過程中,我遇到了設備進入環境模式(或睡眠)並放慢(或關閉)傳感器的問題。 因此,我正在使用以下命令來鎖定屏幕,它似乎工作。但它也似乎是浪費,因爲我實際上不需要屏幕,只是傳感器運行。Android Wear:測量傳感器並防止環境模式/睡眠
getWindow()。clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); //允許睡覺
當然,我在主要活動中有onSensorsChanged()方法。我願意把它放在一個服務中,但是根據我的理解,如果它仍然在主UI線程中,它將無濟於事。我可以把它放在自己的線程中,但我不確定這會使環境模式減慢傳感器的速度。 問題: 1)有沒有辦法阻止環境模式?或者如果檢測到關閉它? 2)如果傳感器處於其自己的服務/線程中,我是否可以讓活動進入睡眠狀態並仍然保持全速傳感器採集? 3)如果傳感器在自己的服務/線程中,我仍然可以通過數據傳輸將數據發送到手機嗎? 謝謝。
PowerManager.PARTIAL_WAKE_LOCK不會停止手錶進入環境模式,但會阻止CPU進入睡眠狀態。所以這就是他想錯誤措辭的原因。 –
@CraigJ謝謝,我已經澄清了描述。 – String