我希望在我的应用运行时禁用 Android设备主页按钮. 我试过以下代码,但它没有帮助: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_HOME)) { Toast.makeText(this,
我试过以下代码,但它没有帮助:
@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将主题设置为全屏.