Home button disable

17,248

Solution 1

Just use a different theme for your activity. In your Manifest.xml, set the theme attribute of your activity to android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

Solution 2

you can disable power button! you can try this: Project: DisableAllButton

  • Disable Search, Back key: in "DisableAllButton.java"

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        return false;
    }
    
  • Disable Home key: in "DisableAllKey.java"

    @Override
    public void onAttachedToWindow() {
        // TODO Auto-generated method stub
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
        super.onAttachedToWindow();
    }
    
  • Disable Powerkey: in "DisableAllKey.java"

    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
    KeyguardManager.KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
    lock.disableKeyguard();
    
  • in AndroidManifest

    <uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
    
  • and set fullscreen in AndroidManifest

    <application android:icon="@drawable/icon" android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
    

done! :D.

Solution 3

check Android source code, View.java

public static final int STATUS_BAR_DISABLE_HOME = 0x00200000;

STATUS_BAR_DISABLE_HOME flag is hide from the standard api.

we can just use 0x00200000 to set system ui visibility ,as:

View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(decorView.getSystemUiVisibility()|0x00200000);

but you should add

<uses-permission android:name="android.permission.STATUS_BAR" />

first, this permission only granted to system apps

Share:
17,248

Related videos on Youtube

edyim
Author by

edyim

Updated on June 04, 2022

Comments

  • edyim
    edyim almost 2 years

    I do know that it is ill advice to take control of the HOME button for users. But I'm developing a android lockdown application for educational purposes. I was browsing the site and came upon this link on disabling the home button.

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

    Currently I'm using the above code to disable my home button, however I do notice that even though I have this in my onCreate

    getWindow.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    

    I am unable to remove my notification bar remove. Please advice.

  • edyim
    edyim over 12 years
    I did, but still has the notification bar on the top. <activity android:name="android.securitas.lockscreen" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen </activity> However it does work if i place it on the <application android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> Plus the notification bar appears again after power off and on of the screen.
  • edyim
    edyim over 12 years
    Anyone else have a solution. I'm quite desperate now. :(
  • edyim
    edyim over 12 years
    Thanks for the input. However this isnt getting what I desire in my app. My app is basically a lockscreen which is triggered by an sms. Current with the phone screen "on", if the sms arrives the activity is started without the notification bar. However if the screen is "off", KeyguardManager does remove the android Keyguard screen but I get a notification bar. Which may not be desirable since there may be apps there that can bypass my lockscreen.
  • pengwang
    pengwang over 12 years
    where is the project DisableAllButton
  • kyogs
    kyogs over 10 years
    @pengwang In mxplayer disableAllButton.So how is it possible ?
  • pengwang
    pengwang over 10 years
    @kyogs if your disable home key,i think you should overload onuserhint
  • kyogs
    kyogs over 10 years
    @pengwang i agree with you.but have you any idea to disable home key ?
  • pengwang
    pengwang over 10 years
    are you see home demo of sdk samples?i think you can see it