Home button disable
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
Related videos on Youtube
edyim
Updated on June 04, 2022Comments
-
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 over 12 yearsI 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 over 12 yearsAnyone else have a solution. I'm quite desperate now. :(
-
edyim over 12 yearsThanks 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 over 12 yearswhere is the project DisableAllButton
-
kyogs over 10 years@pengwang In mxplayer disableAllButton.So how is it possible ?
-
pengwang over 10 years@kyogs if your disable home key,i think you should overload onuserhint
-
kyogs over 10 years@pengwang i agree with you.but have you any idea to disable home key ?
-
pengwang over 10 yearsare you see home demo of sdk samples?i think you can see it