2013-02-01 94 views
-1

可能重複:
How to override the behavior of the volume buttons in an Android application?覆蓋音量調高和音量調低按鈕?

在Android中API,是否有可能以任何方式爲應用(根或以其它方式),以改變音量的硬按鈕的功能(i)應用內的應用/活動正在運行並佔用屏幕 (ii)應用/活動已暫停 (iii)應用是insta一直在打電話,但沒有打開。 (iv)活動在後臺運行 (v)活動生命週期的任何其他部分?

我嘗試過「Locale」應用程序,它有各種選項,包括更改某些手機中找到的Camera Hard按鈕的功能,但沒有找到音量上/下按鈕的任何內容。

+0

http://stackoverflow.com/questions/2367484/how-to-override-the-behavior-of-the-volume-buttons-in-an-android-application – Krishnabhadra

+0

@Braj啓動和停止計時器,用於例。 – user221287

回答

2

(i)本應用程序內的應用程序/活動正在運行,並且佔據屏幕

是的,當然。在您的活動覆蓋dispatchKeyEvent,趕上KeyEvent.KEYCODE_VOLUME_UPKeyEvent.KEYCODE_VOLUME_DOWN

(二)應用程序/活動被暫停(三)應用程序已安裝,但在任何方面都沒有打開。 (iv)活動在後臺運行

編號服務無法檢測到按鍵。 (v)活動生命週期的任何其他部分?

你能舉個例子嗎?

4

您可以使用此覆蓋VOLUME UP/DOWN按鈕:

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP) { 
     // Do your thing 
     return true; 
    } else { 
     return super.onKeyDown(keyCode, event); 
    } 
}