android 关于HOME键

 

模拟HOME键

public   boolean   onKeyDown( int   keyCode, KeyEvent event) {
     // TODO Auto-generated method stub
     if (keyCode == KeyEvent.KEYCODE_BACK){
         Intent intent = new   Intent(Intent.ACTION_MAIN);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 注意
         intent.addCategory(Intent.CATEGORY_HOME);
         this .startActivity(intent);
         return   true ;
     }
     return   super .onKeyDown(keyCode, event);
}

特别注意 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 这句,一定要加上,因为Activity 的 launchMode 默认是以 standard 执行的,如果不添加这个标记则 会创建新的Activity 并放在与当前Activity相同的Task中。以下是 FLAG_ACTIVITY_NEW_TASK 的说明

// 屏蔽Home键
        // @Override
        // public void onAttachedToWindow() {
        // this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
        // super.onAttachedToWindow();
        // }

你可能感兴趣的:(android 关于HOME键)