androidandroid-launcherandroid-homebutton

Override home button behaviour


I am working on an app and i want it to be such that when the user presses home then nothing should happen. Is it possible to accomplish that? If that is not possible then is it possible that some other action is performed when hone is pressed. the whole idea is user should not leave the app directly from any screen.

update:can someone tell me how to define my app as launcher?


Solution

  • you cant make it work as you want, but you can disable it

    @Override
    public void onAttachedToWindow() {
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
        super.onAttachedToWindow();
    }
    

    and you can tell user that home button is disabled:

    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_HOME) {
            Context context = getApplicationContext();
            Toast toast = Toast.makeText(context,"Home button is disabled",1);
            toast.setGravity(Gravity.CENTER_VERTICAL,0,0);
            toast.show();
            return true;
        }
        return super.onKeyDown(keyCode, event);    
    }