Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中禁用home按钮?_Android - Fatal编程技术网

如何在android中禁用home按钮?

如何在android中禁用home按钮?,android,Android,当我的应用程序运行时,我想禁用android设备的主页按钮 我尝试了以下代码,但没有帮助: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_HOME)) { Toast.makeText(this, "You pressed the home button!",

当我的应用程序运行时,我想禁用android设备的主页按钮

我尝试了以下代码,但没有帮助:

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_HOME)) {
            Toast.makeText(this, "You pressed the home button!",
                    Toast.LENGTH_LONG).show();
            return false;
        }
        return super.onKeyDown(keyCode, event);
    }

     @Override
     protected void onNewIntent(Intent intent) {
     super.onNewIntent(intent);
     if (Intent.ACTION_MAIN.equals(intent.getAction())) {
     Log.i("MyLauncher", "onNewIntent: HOME Key");

     }
     }

不能禁用“主页”按钮

在Android上没有办法截获home按钮,除非你将应用程序设置为home屏幕。这是出于安全原因,因此恶意应用程序无法通过覆盖所有可以退出的按钮来接管您的设备

Home按钮是导航到主屏幕的一种快捷方式

如果要处理HOME(主页)按钮,请实现HOME(主页)屏幕

通过Commonware检查答案

您可以使用它禁用HOME键和其他系统键(如BACK键和MENU键)

注意

似乎该解决方案只适用于具有硬主密钥的设备


希望这将有助于你的申请。谢谢。

您可以使用以下方法在android中禁用Home键:

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

我认为这可以在另一种风格,如果适合您的要求。通过将您的活动创建为家庭活动。如果您想禁用home按钮,并在按下home按钮时将自定义应用程序活动显示为启动器。只需在清单中为您想要启动程序的活动添加这些行

<activity
            android:name="com.example.TempActivity"
            android:clearTaskOnLaunch="true"
            android:excludeFromRecents="true"
            android:launchMode="singleTask"
            android:screenOrientation="landscape"
            android:stateNotNeeded="true" >
             <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />

            </intent-filter>
</activity>

添加并运行应用程序后。如果用户按下home按钮,Android会询问您想要哪个启动器作为您的家。然后,您必须选择您的应用程序启动器,而不是只选择一次


如果您想完全禁用该用户,使其无法移动到另一个屏幕,请使用NoTitlebar将主题设置为全屏。

简单地说,您不能!!!对同意@ManishAndroid。可能的副本可能的副本你可以:什么的副本?可能是另一个问题的重复。我不确定:D我问的问题太多了。不是说你的答案是重复的:)重复的问题已经存在,所以有相同的主题。不要使用从同一主题的另一个建议答案复制的链接来增加答案的数量。@ManishAndroid我不会从链接复制它。我回答了这个问题。如果您觉得问题重复,请投票关闭该问题。@PankajKumar无问题我没有受伤,只需将问题作为重复投票关闭即可。不fuss@menu_on_top克隆repo,将HomeLockerLib添加到应用程序项目的Dependencieshey中,非常感谢您的解决方案,但是也可以使用软键吗?如果可能的话,请提供一些建议。我从Playstore安装了一个“按钮锁”应用程序。我不知道它是否是你正在谈论的同一个应用程序。它起作用了。它锁定了我手机上有缺陷的home按钮。但该应用程序是无用的,因为它有一个副作用,使它无法使用。当我想输入Whatsapp时,它会禁用不再显示的软键盘。。。。每次用户按下home按钮,你的应用程序就会启动。。。通常不是你想归档的这没什么用。。到底应该发生什么?