Upper, lower, left, and back-up keys on the keyboard. You can directly listen without registering in xml or other places.
The main method is:
Public boolean onKeyDown (int kCode, KeyEvent kEvent)
{
Switch (kCode)
{
Case KeyEvent. KEYCODE_DPAD_LEFT:
Return true;
Case KeyEvent. KEYCODE_DPAD_UP:
Return true;
Case KeyEvent. KEYCODE_DPAD_RIGHT:
Return true;
Case KeyEvent. KEYCODE_DPAD_DOWN:
Return true;
Case KeyEvent. KEYCODE_DPAD_CENTER:
Return true;
Case KeyEvent. KEYCODE_BACK:
Return false ;}
Return super. onKeyDown (kCode, kEvent );
}
The specific implementation example is:
Package com. ldci. logger;
Import android. app. Activity;
Import android. OS. Bundle;
Import android. util. Log;
Import android. view. KeyEvent;
Public class MyKeyDown extends Activity {
/** Called when the activity is first created .*/
@ Override
Public void onCreate (Bundle savedInstanceState ){
Super. onCreate (savedInstanceState );
SetContentView (R. layout. main );
}
Public boolean onKeyDown (int kCode, KeyEvent kEvent)
{
Switch (kCode)
{
Case KeyEvent. KEYCODE_DPAD_LEFT:
Log. v ("MyKeyDown", "onkeydown = left ");
Return true;
Case KeyEvent. KEYCODE_DPAD_UP:
Log. v ("MyKeyDown", "onkeydown = up ");
Return true;
Case KeyEvent. KEYCODE_DPAD_RIGHT:
Log. v ("MyKeyDown", "onkeydown = right ");
Return true;
Case KeyEvent. KEYCODE_DPAD_DOWN:
Log. v ("MyKeyDown", "onkeydown = down ");
Return true;
Case KeyEvent. KEYCODE_DPAD_CENTER:
Log. v ("MyKeyDown", "onkeydown = center ");
Return true;
Case KeyEvent. KEYCODE_BACK:
Log. v ("MyKeyDown", "onkeydown = where ");
Return false ;}
Return super. onKeyDown (kCode, kEvent );
}
}
You can test it by writing it directly in the code.
From running snails