先查詢一下
Handle keyboard actions
=============================import android.view.KeyEvent; //需要import KeyEvent 也由此可知是view的副類別,因此需要在activity (無法在service內做)
import android.widget.Toast; //用來debug用
public class EventTest01 extends Activity {
/**
* 注意,要重寫onKeyDown,onKeyUp,onTouchEvent方法
*/
private Button mybutton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mybutton = (Button)findViewById(R.id.mybutton);
mybutton.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
ShowMessage("按下了Button按鈕");
}
});
}
public void ShowMessage(String str)
{
Toast toast = Toast.makeText(this, str, Toast.LENGTH_SHORT);
toast.show();
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_LEFT:
//ShowMessage("Left key press up");
CService.onKeyEvent(CService.CID_KEY_LEFT, KeyEvent.ACTION_UP);
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
//ShowMessage("Right key press up");
CService.onKeyEvent(CService.CID_KEY_RIGHT, KeyEvent.ACTION_UP);
break;
case KeyEvent.KEYCODE_DPAD_UP:
ShowMessage("Up key press up");
CService.onKeyEvent(CService.CID_KEY_UP, KeyEvent.ACTION_UP);
return true;
case KeyEvent.KEYCODE_DPAD_DOWN:
ShowMessage("Down key press up");
CService.onKeyEvent(CService.CID_KEY_DOWN, KeyEvent.ACTION_UP);
return true;
}
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_LEFT:
ShowMessage("Left key press down");
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
ShowMessage("Right key press down");
break;
case KeyEvent.KEYCODE_DPAD_UP:
ShowMessage("Up key press down");
return true;
case KeyEvent.KEYCODE_DPAD_DOWN:
ShowMessage("Down key press down");
return true;
}
return super.onKeyDown(keyCode, event);
}
}
/**按键重複點擊事件*/
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
{
return onKeyMultiple(keyCode, repeatCount, event);
}
public boolean onTouchEvent(MotionEvent event)
{
int action = event.getAction();
if(action == MotionEvent.ACTION_CANCEL||action == MotionEvent.ACTION_DOWN||action == MotionEvent.ACTION_MOVE)
{
return false;
}
//得到觸點的位置
String x = String.valueOf(event.getX());
String y = String.valueOf(event.getX());
ShowMessage("触点坐标:(" + x + "," + y +")");
return super.onTouchEvent(event);
}
/**顯示觸發事件的信息*/
public void ShowMessage(String str)
{
Toast toast = Toast.makeText(this, str, Toast.LENGTH_SHORT);
toast.show();
}
}
長按觸發
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK)
{
// do your stuff here
return true;
}
return super.onKeyLongPress(keyCode, event);
}
==============================================
特殊KeyCode
1.
KEYCODE_CALL 拨号键5
2.
KEYCODE_ENDCALL 挂机键6
3.
KEYCODE_HOME 按键Home3
4.
KEYCODE_MENU 菜单键82
5.
KEYCODE_BACK 返回键4
6.
KEYCODE_SEARCH 搜索键84
7.
KEYCODE_CAMERA 拍照键27
8.
KEYCODE_FOCUS 拍照对焦键80
9.
KEYCODE_POWER 电源键26
10.
KEYCODE_NOTIFICATION 通知键83
11.
KEYCODE_MUTE 话筒静音键91
12.
KEYCODE_VOLUME_MUTE 扬声器静音键164
13.
KEYCODE_VOLUME_UP 音量增加键24
14.
KEYCODE_VOLUME_DOWN 音量减小键25
控制键
键名 描述 键值
键名 描述 键值
1.
KEYCODE_ENTER 回车键66
2.
KEYCODE_ESCAPE ESC键111
3.
KEYCODE_DPAD_CENTER 导航键 确定键23
4.
KEYCODE_DPAD_UP 导航键 向上19
5.
KEYCODE_DPAD_DOWN 导航键 向下20
6.
KEYCODE_DPAD_LEFT 导航键 向左21
7.
KEYCODE_DPAD_RIGHT 导航键 向右22
8.
KEYCODE_MOVE_HOME 光标移动到开始键122
9.
KEYCODE_MOVE_END 光标移动到末尾键123
10.
KEYCODE_PAGE_UP 向上翻页键92
11.
KEYCODE_PAGE_DOWN 向下翻页键93
12.
KEYCODE_DEL 退格键67
13.
KEYCODE_FORWARD_DEL 删除键112
14.
KEYCODE_INSERT 插入键124
15.
KEYCODE_TAB Tab键61
16.
KEYCODE_NUM_LOCK 小键盘锁143
17.
KEYCODE_CAPS_LOCK 大写锁定键115
18.
KEYCODE_BREAK Break/Pause键121
19.
KEYCODE_SCROLL_LOCK 滚动锁定键116
20.
KEYCODE_ZOOM_IN 放大键168
21.
KEYCODE_ZOOM_OUT 缩小键169
组合键
键名 描述
键名 描述
1.
KEYCODE_ALT_LEFT Alt+Left
2.
KEYCODE_ALT_RIGHT Alt+Right
3.
KEYCODE_CTRL_LEFT Control+Left
4.
KEYCODE_CTRL_RIGHT Control+Right
5.
KEYCODE_SHIFT_LEFT Shift+Left
6.
KEYCODE_SHIFT_RIGHT Shift+Right
基本
键名 描述 键值
键名 描述 键值
1.
KEYCODE_0 按键'0'7
2.
KEYCODE_1 按键'1'8
3.
KEYCODE_2 按键'2'9
4.
KEYCODE_3 按键'3'10
5.
KEYCODE_4 按键'4'11
6.
KEYCODE_5 按键'5'12
7.
KEYCODE_6 按键'6'13
8.
KEYCODE_7 按键'7'14
9.
KEYCODE_8 按键'8'15
10.
KEYCODE_9 按键'9'16
11.
KEYCODE_A 按键'A'29
12.
KEYCODE_B 按键'B'30
13.
KEYCODE_C 按键'C'31
14.
KEYCODE_D 按键'D'32
15.
KEYCODE_E 按键'E'33
16.
KEYCODE_F 按键'F'34
17.
KEYCODE_G 按键'G'35
18.
KEYCODE_H 按键'H'36
19.
KEYCODE_I 按键'I'37
20.
KEYCODE_J 按键'J'38
21.
KEYCODE_K 按键'K'39
22.
KEYCODE_L 按键'L'40
23.
KEYCODE_M 按键'M'41
24.
KEYCODE_N 按键'N'42
25.
KEYCODE_O 按键'O'43
26.
KEYCODE_P 按键'P'44
27.
KEYCODE_Q 按键'Q'45
28.
KEYCODE_R 按键'R'46
29.
KEYCODE_S 按键'S'47
30.
KEYCODE_T 按键'T'48
31.
KEYCODE_U 按键'U'49
32.
KEYCODE_V 按键'V'50
33.
KEYCODE_W 按键'W'51
34.
KEYCODE_X 按键'X'52
35.
KEYCODE_Y 按键'Y'53
36.
KEYCODE_Z 按键'Z'54
符号
键名 描述
键名 描述
1.
KEYCODE_PLUS 按键'+'
2.
KEYCODE_MINUS 按键'-'
3.
KEYCODE_STAR 按键'*'
4.
KEYCODE_SLASH 按键'/'
5.
KEYCODE_EQUALS 按键'='
6.
KEYCODE_AT 按键'@'
7.
KEYCODE_POUND 按键'#'
8.
KEYCODE_APOSTROPHE 按键''' (单引号)
9.
KEYCODE_BACKSLASH 按键'\'
10.
KEYCODE_COMMA 按键','
11.
KEYCODE_PERIOD 按键'.'
12.
KEYCODE_LEFT_BRACKET 按键'['
13.
KEYCODE_RIGHT_BRACKET 按键']'
14.
KEYCODE_SEMICOLON 按键';'
15.
KEYCODE_GRAVE 按键'`'
16.
KEYCODE_SPACE 空格键
小键盘
键名 描述
键名 描述
1.
KEYCODE_NUMPAD_0 小键盘按键'0'
2.
KEYCODE_NUMPAD_1 小键盘按键'1'
3.
KEYCODE_NUMPAD_2 小键盘按键'2'
4.
KEYCODE_NUMPAD_3 小键盘按键'3'
5.
KEYCODE_NUMPAD_4 小键盘按键'4'
6.
KEYCODE_NUMPAD_5 小键盘按键'5'
7.
KEYCODE_NUMPAD_6 小键盘按键'6'
8.
KEYCODE_NUMPAD_7 小键盘按键'7'
9.
KEYCODE_NUMPAD_8 小键盘按键'8'
10.
KEYCODE_NUMPAD_9 小键盘按键'9'
11.
KEYCODE_NUMPAD_ADD 小键盘按键'+'
12.
KEYCODE_NUMPAD_SUBTRACT 小键盘按键'-'
13.
KEYCODE_NUMPAD_MULTIPLY 小键盘按键'*'
14.
KEYCODE_NUMPAD_DIVIDE 小键盘按键'/'
15.
KEYCODE_NUMPAD_EQUALS 小键盘按键'='
16.
KEYCODE_NUMPAD_COMMA 小键盘按键','
17.
KEYCODE_NUMPAD_DOT 小键盘按键'.'
18.
KEYCODE_NUMPAD_LEFT_PAREN 小键盘按键'('
19.
KEYCODE_NUMPAD_RIGHT_PAREN 小键盘按键')'
20.
KEYCODE_NUMPAD_ENTER 小键盘按键回车
功能键
键名 描述
键名 描述
1.
KEYCODE_F1 按键F1
2.
KEYCODE_F2 按键F2
3.
KEYCODE_F3 按键F3
4.
KEYCODE_F4 按键F4
5.
KEYCODE_F5 按键F5
6.
KEYCODE_F6 按键F6
7.
KEYCODE_F7 按键F7
8.
KEYCODE_F8 按键F8
9.
KEYCODE_F9 按键F9
10.
KEYCODE_F10 按键F10
11.
KEYCODE_F11 按键F11
12.
KEYCODE_F12 按键F12
多媒体键
键名 描述
键名 描述
1.
KEYCODE_MEDIA_PLAY 多媒体键 播放
2.
KEYCODE_MEDIA_STOP 多媒体键 停止
3.
KEYCODE_MEDIA_PAUSE 多媒体键 暂停
4.
KEYCODE_MEDIA_PLAY_PAUSE 多媒体键 播放/暂停
5.
KEYCODE_MEDIA_FAST_FORWARD 多媒体键 快进
6.
KEYCODE_MEDIA_REWIND 多媒体键 快退
7.
KEYCODE_MEDIA_NEXT 多媒体键 下一首
8.
KEYCODE_MEDIA_PREVIOUS 多媒体键 上一首
9.
KEYCODE_MEDIA_CLOSE 多媒体键 关闭
10.
KEYCODE_MEDIA_EJECT 多媒体键 弹出
11.
KEYCODE_MEDIA_RECORD 多媒体键 录音
手柄按键
键名 描述
键名 描述
1.
KEYCODE_BUTTON_1 通用游戏手柄按钮 #1
2.
KEYCODE_BUTTON_2 通用游戏手柄按钮 #2
3.
KEYCODE_BUTTON_3 通用游戏手柄按钮 #3
4.
KEYCODE_BUTTON_4 通用游戏手柄按钮 #4
5.
KEYCODE_BUTTON_5 通用游戏手柄按钮 #5
6.
KEYCODE_BUTTON_6 通用游戏手柄按钮 #6
7.
KEYCODE_BUTTON_7 通用游戏手柄按钮 #7
8.
KEYCODE_BUTTON_8 通用游戏手柄按钮 #8
9.
KEYCODE_BUTTON_9 通用游戏手柄按钮 #9
10.
KEYCODE_BUTTON_10 通用游戏手柄按钮 #10
11.
KEYCODE_BUTTON_11 通用游戏手柄按钮 #11
12.
KEYCODE_BUTTON_12 通用游戏手柄按钮 #12
13.
KEYCODE_BUTTON_13 通用游戏手柄按钮 #13
14.
KEYCODE_BUTTON_14 通用游戏手柄按钮 #14
15.
KEYCODE_BUTTON_15 通用游戏手柄按钮 #15
16.
KEYCODE_BUTTON_16 通用游戏手柄按钮 #16
17.
KEYCODE_BUTTON_A 游戏手柄按钮 A
18.
KEYCODE_BUTTON_B 游戏手柄按钮 B
19.
KEYCODE_BUTTON_C 游戏手柄按钮 C
20.
KEYCODE_BUTTON_X 游戏手柄按钮 X
21.
KEYCODE_BUTTON_Y 游戏手柄按钮 Y
22.
KEYCODE_BUTTON_Z 游戏手柄按钮 Z
23.
KEYCODE_BUTTON_L1 游戏手柄按钮 L1
24.
KEYCODE_BUTTON_L2 游戏手柄按钮 L2
25.
KEYCODE_BUTTON_R1 游戏手柄按钮 R1
26.
KEYCODE_BUTTON_R2 游戏手柄按钮 R2
27.
KEYCODE_BUTTON_MODE 游戏手柄按钮 Mode
28.
KEYCODE_BUTTON_SELECT 游戏手柄按钮 Select
29.
KEYCODE_BUTTON_START 游戏手柄按钮 Start
30.
KEYCODE_BUTTON_THUMBL Left Thumb
Button
31.
KEYCODE_BUTTON_THUMBR Right Thumb
Button
待查
键名 描述
键名 描述
1.
KEYCODE_NUM 按键Number modifier
2.
KEYCODE_INFO 按键Info
3.
KEYCODE_APP_SWITCH 按键App switch
4.
KEYCODE_BOOKMARK 按键Bookmark
5.
KEYCODE_AVR_INPUT 按键A/V Receiver input
6.
KEYCODE_AVR_POWER 按键A/V Receiver power
7.
KEYCODE_CAPTIONS 按键Toggle captions
8.
KEYCODE_CHANNEL_DOWN 按键Channel down
9.
KEYCODE_CHANNEL_UP 按键Channel up
10.
KEYCODE_CLEAR 按键Clear
11.
KEYCODE_DVR 按键DVR
12.
KEYCODE_ENVELOPE 按键Envelope special
function
13.
KEYCODE_EXPLORER 按键Explorer special
function
14.
KEYCODE_FORWARD 按键Forward
15.
KEYCODE_FORWARD_DEL 按键Forward Delete
16.
KEYCODE_FUNCTION 按键Function modifier
17.
KEYCODE_GUIDE 按键Guide
18.
KEYCODE_HEADSETHOOK 按键Headset Hook
19.
KEYCODE_META_LEFT 按键Left Meta modifier
20.
KEYCODE_META_RIGHT 按键Right Meta modifier
21.
KEYCODE_PICTSYMBOLS 按键Picture Symbols
modifier
22.
KEYCODE_PROG_BLUE 按键Blue “programmable”
23.
KEYCODE_PROG_GREEN 按键Green “programmable”
24.
KEYCODE_PROG_RED 按键Red “programmable”
25.
KEYCODE_PROG_YELLOW 按键Yellow “programmable”
26.
KEYCODE_SETTINGS 按键Settings
27.
KEYCODE_SOFT_LEFT 按键Soft Left
28.
KEYCODE_SOFT_RIGHT 按键Soft Right
29.
KEYCODE_STB_INPUT 按键Set-top-box input
30.
KEYCODE_STB_POWER 按键Set-top-box power
31.
KEYCODE_SWITCH_CHARSET 按键Switch Charset
modifier
32.
KEYCODE_SYM 按键Symbol modifier
33.
KEYCODE_SYSRQ 按键System Request /
Print Screen
34.
KEYCODE_TV 按键TV
35.
KEYCODE_TV_INPUT 按键TV input
36.
KEYCODE_TV_POWER 按键TV power
37.
KEYCODE_WINDOW 按键Window
KEYCODE_UNKNOWN 未知按键
沒有留言:
張貼留言