0

I want to disable home button in android 4.0 and above until 5.0. And I found this code. LockScreenApp I've just tried it but it didn't disable home button.Can somebody explain me why.Maybe I forgot to add something important from that code? Here it is.My Launcher Activity,OverlayDialog,ManufestFile and OverlayDialog style. Please help me.

public class LauncherActivity extends Activity {
    private OverlayDialog mOverlayDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.launcher_activity);
        mOverlayDialog = new OverlayDialog(this);
        mOverlayDialog.show();
        Button button = (Button) findViewById(R.id.button3);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mOverlayDialog.dismiss();
                mOverlayDialog = null;
            }
        });
    }
} 

OverlayDialog:

public class OverlayDialog extends AlertDialog {
    public OverlayDialog(Activity activity) {
        super(activity, R.style.OverlayDialog);
        WindowManager.LayoutParams params = getWindow().getAttributes();
        params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
        params.dimAmount = 0.0F;
        params.width = 0;
        params.height = 0;
        params.gravity = Gravity.BOTTOM;
        getWindow().setAttributes(params);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
                0xffffff);
        setOwnerActivity(activity);
        setCancelable(false);
    }

    // consume touch events
    public final boolean dispatchTouchEvent(MotionEvent motionevent) {
        return true;
    }
}

OverlayDialog style:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="OverlayDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:backgroundDimEnabled">false</item>
    </style>

</resources>

Manifest file:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.amadey.myapplication3" >

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".LauncherActivity"
            android:label="@string/app_name" >

                <intent-filter>

                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />


                </intent-filter>

        </activity>

    </application>

</manifest>
sKhan
  • 9,694
  • 16
  • 55
  • 53
S.Drumble3
  • 59
  • 10
  • Possible duplicate of [Screen pinning 3rd party apps programmatically](http://stackoverflow.com/questions/28204829/screen-pinning-3rd-party-apps-programmatically) – Doug Stevenson Feb 17 '16 at 01:31
  • @doug-stevenson No,that method can only be used in android 5.0 and above.But I want to disable home button on all versions of android. – S.Drumble3 Feb 17 '16 at 01:50

0 Answers0