簡體   English   中英

屏幕關閉時檢測音量按鈕按下

[英]Detect Volume Button Press when Screen off

我有一項服務,可以檢測我的 Android 手機的顯示屏何時打開或關閉。 關閉時,該服務會調用一個活動,該活動使用 dispatchKeyEvent 來檢測何時按下了增大音量按鈕。 不幸的是,當屏幕關閉時,該活動顯然無法執行此操作。 (見這篇文章。)

不過,我已經注意到,某種程度的東西正在檢測該事件,因為當我在屏幕關閉時按下音量增大按鈕時會出現以下 LogCat 消息:“CatService:返回當前 sInstance”。 該消息似乎是特定於設備的,因為在不同的設備上,日志中會出現不同的內容,但我真的只關心第一個設備。

我對 CatService 進行了一些研究,但沒有發現太多,也無法弄清楚我如何使用它,或者任何生成日志消息的東西,來檢測音量增大按鈕的按下情況。 我很感激任何人都可以對此有所了解。

在屏幕關閉時繼續檢測此類事件的唯一方法是獲取一個 WakeLock,它可以讓屏幕關閉,但仍然讓您的應用程序正常運行。 但是,這會大大消耗電池壽命,並且只能在絕對必要時使用。

在這種情況下,您將需要一個PARTIAL_WAKE_LOCK

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM