シールドホームキー

1329 ワード

    // Activity :
    @Override
    public void onAttachedToWindow() {
            // TODO Auto-generated method stub
        if(catchHomeKey) {
            this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
        }
        super.onAttachedToWindow();
    }
    
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
        if(keyCode == KeyEvent.KEYCODE_HOME) {
            Log.e(TAG, "Home key down");
        }
        return super.onKeyDown(keyCode, event);
    }

   //  Dialog :
    final Dialog dialog = new Dialog(this);
   dialog.setContentView(R.layout.mydailog);
   //  
   dialog.show();
   dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
    
    dialog.setOnKeyListener(new android.content.DialogInterface.OnKeyListener(){
    	@Override
    	public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
    		switch (keyCode) {
    			case KeyEvent.KEYCODE_HOME:
    			Log.i(TAG, "KEYCODE_HOME");
    			return true;
    		}
    		return false;}}