如何禁用返回、主页、多任务物理按钮?

How to disable back,home,multitask physical buttons?

实际上我正在开发一个应用程序,应该在安装的设备上打开这个应用程序,这样我就可以阻止/禁用返回、主页、多任务的物理按钮。

我已经阅读了一些关于如何执行此操作的文章,但仍然无法了解如何在我的应用程序中实现它。

我要禁用的按钮如下,您可以在照片上看到

对于 back button 你可以 Override onBackPressed 方法如下:-

@Override
public void onBackPressed() {
    // do what you want
}

对于Home Button

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

对于禁用 recent app 按钮:-

步骤 1

将此权限添加到 manifest.xml 文件

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

步骤 2

将此代码放在您想要 block/disable 最近使用的应用程序按钮的任何 Activity 中

 @Override
protected void onPause() {
    super.onPause();

    ActivityManager activityManager = (ActivityManager) getApplicationContext()
            .getSystemService(Context.ACTIVITY_SERVICE);

    activityManager.moveTaskToFront(getTaskId(), 0);
}

//下面的代码放在onStart()方法

@Override
    protected void onStart() {
        super.onStart();
        // start lock task mode if it's not already active
        ActivityManager am = (ActivityManager) getSystemService(
                Context.ACTIVITY_SERVICE);
        // ActivityManager.getLockTaskModeState api is not available in pre-M.
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
            if (!am.isInLockTaskMode()) {
                startLockTask();
            }
        } else {
            if (am.getLockTaskModeState() ==
                    ActivityManager.LOCK_TASK_MODE_NONE) {
                startLockTask();
            }
        }


    }