自定义全局快捷键

本文转自 (http://zhmeup.iteye.com/blog/1068143)

在Activity类onKeyDown方法中进入拦截事件 
    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){ (快捷键code=7,定位到桌面时钟) 
            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){(快捷键code=31,定位到日历) 
            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){(快捷键X,静音/取消静音) 
            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){(快速启动播放器) 
            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; 
        } 


 

你可能感兴趣的:(android)