美文网首页Android
Home键和Back键相关

Home键和Back键相关

作者: 瑟闻风倾 | 来源:发表于2019-11-06 13:54 被阅读0次

    1. 避免App点击Home键后点击应用桌面图标重新启动

    参考

    @Override
    
    protected void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        settings= Settings.getInstance(this);
    
        /*********避免App点击Home键后点击应用桌面图标重新启动*********/
        if(!this.isTaskRoot()){
            Intent intent = getIntent();
            if(intent !=null){
                String action = intent.getAction();
                if(intent.hasCategory(Intent.CATEGORY_LAUNCHER)&&(Intent.ACTION_MAIN.equals(action))){
                    finish();
                    return;
                }
            }
        }
    
    }
    

    2. Home和Back键的监听事件

    (1) Home键的监听事件

    @Override
    protected void onUserLeaveHint() {
      super.onUserLeaveHint();
    }
    

    (2) Back键的监听事件

    @Override
        public void onBackPressed() {
            super.onBackPressed();
        }
    

    3. 禁用Android系统Home键或Back键

    关键在于监听并复写事件(需了解事件分发机制)

    (1) 禁用Back键

    @Override
    public void onBackPressed() {
      //super.onBackPressed();
    }
    

    @Override    
    public boolean onKeyDown(int keyCode, KeyEvent event) {  
        if(keyCode == KeyEvent.KEYCODE_BACK){      
          return  true;
        }
    }  
      return super.onKeyDown(keyCode, event); // return false;
     
    } 
    
    

    (2) 禁用Home键
    注意:Android4.0后,在应用层无法屏蔽home键,也监听不到HOME键(Home键的KeyEvent不会送到application层来,在framework就已经处理完了,所以没办法屏蔽)

    相关文章

      网友评论

        本文标题:Home键和Back键相关

        本文链接:https://www.haomeiwen.com/subject/fsjubctx.html