2013-03-23 5 views
4

В приложении для Android возможно, что когда я нажимаю кнопку мобильного телефона * (звездочка) (а не кнопку виджета), то я могу выполнять любые конкретные события в своем приложении? Если это возможно, то как я могу это достичь?Как отслеживать кнопку мобильного телефона (не кнопку виджета) click event

ответ

1

Если вы имеете в виду ключ * от вашей аппаратной клавиатуры (на устройствах, которые у него есть), вы можете захватить его с помощью KeyCode.

Here you can find an extensive list of all the keys you can intercept.

Чтобы сделать это:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 

switch (keyCode) { 
    case KeyEvent.KEYCODE_STAR: //here you check any key you want 
    { 
     //your code here 
     return true; 
    } 
} 
return super.onKeyDown(keyCode, event); 
} 

EDIT

Отвечая на Ваш комментарий, я не считаю, что это возможно. События KeyDown/Up обрабатываются в действии. И вы не будете активны. Check this out!

EDIT

Да, по this guy вы не можете.

+0

спасибо. Но я хочу, чтобы он работал до тех пор, пока наше приложение не будет удалено, т. Е. Если другое приложение открыто, то событие, заданное на определенной кнопке в предыдущем приложении, должно работать. – amardeep

0

Если кнопка находится в вашем собственном приложении, то да.

Если вы имеете в виду кнопку в любом другом приложении (я думаю, вы имеете в виду клавишу * на панели набора номера), то нет.