如何在android中禁用主页按钮?

我希望在我的应用运行时禁用 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");

     }
     }

解决方法

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

<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>

添加并运行您的应用程序后.如果用户按下主页按钮,Android将询问您想要哪个启动器.然后你必须选择你的应用程序启动器,而不仅仅是一次.

如果你想完全禁用用户,那么他就无法移动到另一个屏幕,然后使用NoTitlebar将主题设置为全屏.

相关文章

文章浏览阅读8.8k次,点赞9次,收藏20次。本文操作环境:win1...
文章浏览阅读1.2w次,点赞15次,收藏69次。实现目的:由main...
文章浏览阅读3.8w次。前言:最近在找Android上的全局代理软件...
文章浏览阅读2.5w次,点赞17次,收藏6次。创建项目后,运行项...
文章浏览阅读8.9w次,点赞4次,收藏43次。前言:在Android上...
文章浏览阅读1.1w次,点赞4次,收藏17次。Android Studio提供...