2011-05-06 87 views
6

我想讓android設備從睡眠中醒來,或者通過檢測屏幕的觸摸而不是點擊任何按鈕,在屏幕變暗時通過一定的不活動狀態獲取手機的狀態。是否有可能通過檢測觸摸到屏幕來讓設備從睡眠中醒來(屏幕黑暗)?

在本文檔中我發現的唯一的事情是在WindowManager.LayoutParams的FLAG_TOUCHABLE_WHEN_WAKING標誌和它說:

窗口標誌:設置時,如果設備處於睡眠狀態時,觸摸屏 被按下時,您將收到此第一個觸摸事件 。通常第一個 觸摸事件被系統 消耗,因爲用戶無法看到它們按下的是什麼 。

我認爲這意味着如果設備的屏幕被關閉,並且該標誌被設置爲一個活動,那麼它會醒來觸摸(這是我想要的)。我誤解了這面旗子的目的嗎?是否有我忽略的其他實施細節?有沒有其他的方法?

+0

根據您引用的FLAG_TOUCHABLE_WHEN_WAKING描述,聽起來很可能系統正在捕獲此事件,絕不會將它進一步發送到您的活動。就我個人而言,我不會依賴它的工作,但是這是我從未處理過的事情。 – harism 2011-05-06 18:56:28

回答

4

我誤解了這面旗子的用意?

AFAIK,是的。屏幕關閉時和設備入睡時間有一段時間。在這段時間內,如果用戶在屏幕上有觸摸屏的地方觸摸屏幕,屏幕會再次打開並且不活動定時器被重置。

我在Android源代碼中找不到這個標誌的其他用法。

有沒有其他方法?

否。如果設備處於睡眠狀態,則不會註冊觸摸屏事件。

+0

仍然不可能?!!那麼如果設備紮根了,我可以做任何我想做的事情以達到目的? – 2016-07-25 11:03:27

+1

@MuhammedRefaat:你想要什麼與*軟件*很少有關係,並且與硬件*有很大關係。一些設備已具備此功能;不能通過軟件AFAIK純粹添加的設備。 – CommonsWare 2016-07-25 11:12:16

相關問題