如何禁用后退,主页,多任务物理按钮?

时间:2018-06-06 12:21:07

标签: android button android-homebutton

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

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

我将禁用的按钮是您可以在照片上看到的以下内容 enter image description here

2 个答案:

答案 0 :(得分:2)

//将下面的代码放在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();
            }
        }


    }

答案 1 :(得分:1)

对于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步

将此代码放在您要阻止/停用最近的应用按钮的任何活动中

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

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

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