2011-12-20 90 views
0

我正在開發一個安全應用程序。當用戶按下硬件按鈕達到特定時間時,就會發生動作。設備正在休眠時硬件按鈕按下事件

我需要對Power或Volume等硬件按鈕的按下作出反應。 我的應用程序必須在後臺工作,無需用戶解鎖屏幕。問題是,當設備「睡着」時按下按鈕時,我無法捕捉事件

情景可能是用戶按下電源按鈕3秒鐘,這會導致發送電子郵件。

KeyEvent.KEYCODE_POWER在服務中不起作用,活動暫停或銷燬。

任何想法如何解決我的問題?

是否有任何BrodcastReceiver意識到這一點?

回答

-2

use this buttonId.performClick();它用於以下目的。

沒有點擊那個按鈕我們可以執行該按鈕的點擊操作意味着沒有點擊那個按鈕我們就可以調用該按鈕的onclick方法。

+0

我不認爲這回答了這個問題。所需要的是檢測一個實際的按鈕點擊,而不是僞造一個。 – barry 2011-12-20 08:42:02

+0

buttonid.setOnClickListener(new ....編寫你想要運行的代碼); – 2011-12-20 09:13:54

+0

他的應用程序在後臺運行,需要檢測硬件按鈕,所以這仍然沒有幫助。 – barry 2011-12-20 13:29:38

1

我認爲最好的方法是創建BroadcastReceiver。但是,這裏會出現訂閱問題。也許你可以找到適合你的東西here。尋找「標準廣播行動」。

+0

在鏈接中最好搜索字符串「這是受保護的意圖,只能由系統發送」 – Jin35 2011-12-20 12:28:53