自定义全局快捷键

[color=blue]在Activity类onKeyDown方法中进入拦截事件[/color]
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.i("key down", "key code:"+event.getKeyCode());
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (getApplicationInfo().targetSdkVersion
>= Build.VERSION_CODES.ECLAIR) {
event.startTracking();
} else {
onBackPressed();
}
return true;
}else if(keyCode == 7){ [color=blue](快捷键code=7,定位到桌面时钟)[/color]
ComponentName cmp = new ComponentName("com.android.deskclock", "com.android.deskclock.DeskClock");
Intent intent = new Intent();
intent.setComponent(cmp);
startActivity(intent);
return true;
}else if(keyCode == 42){
ComponentName cmp = new ComponentName("com.autonavi.routedemo", "com.autonavi.routedemo.Main");
Intent intent = new Intent();
intent.setComponent(cmp);
startActivity(intent);
return true;
}else if(keyCode == 31){[color=blue](快捷键code=31,定位到日历)[/color]
ComponentName cmp = new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity");
Intent intent = new Intent();
intent.setComponent(cmp);
startActivity(intent);
return true;
}else if(keyCode == KeyEvent.KEYCODE_X){[color=blue](快捷键X,静音/取消静音)[/color]
Log.i("activity onkeydown", "you have clicked the x key");

AudioManager mAudioManager = (AudioManager)getSystemService(Service.AUDIO_SERVICE);
Log.i("activity onkeydown RingerMode before:", ""+mAudioManager.getRingerMode());
boolean state = ((mAudioManager.getRingerMode()&2)==0)?false:true;
Log.i("activity onkeydown state", ""+state);
mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC,state);
mAudioManager.setRingerMode(state==false?2:1);
Log.i("activity onkeydown RingerMode after:", ""+mAudioManager.getRingerMode());
return true;
}else if(keyCode == KeyEvent.KEYCODE_EQUALS){[color=blue](快速启动播放器)[/color]
Log.i("activity onkeydown", "you have clicked the KEYCODE_EQUALS key:"+KeyEvent.KEYCODE_EQUALS);

AudioManager mAudioManager = (AudioManager)getSystemService(Service.AUDIO_SERVICE);
mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC,false);
mAudioManager.setRingerMode(2);
mAudioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return true;
}else if(keyCode == KeyEvent.KEYCODE_MINUS){
Log.i("activity onkeydown", "you have clicked the KEYCODE_MINUS key:"+KeyEvent.KEYCODE_MINUS);
AudioManager mAudioManager = (AudioManager)getSystemService(Service.AUDIO_SERVICE);
mAudioManager.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return true;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值