覆盖主页按钮行为

时间:2012-03-12 20:00:04

标签: android android-launcher android-homebutton

我正在研究一个应用程序,我希望它是这样的,当用户按下home然后什么都不应该发生。是否有可能实现这一目标?如果那是不可能的话,那么当按下练习时可能会执行一些其他动作。整个想法是用户不应该直接从任何屏幕离开应用程序。

更新:有人可以告诉我如何将我的应用定义为启动器吗?

3 个答案:

答案 0 :(得分:2)

不,你不能。每当按下Home按钮时,框架将始终让您回到Android的主屏幕。对不起,你运气不好。 :)

答案 1 :(得分:1)

你不能让它按你的意愿工作,但你可以禁用它

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

您可以告诉用户主页按钮被禁用:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_HOME) {
        Context context = getApplicationContext();
        Toast toast = Toast.makeText(context,"Home button is disabled",1);
        toast.setGravity(Gravity.CENTER_VERTICAL,0,0);
        toast.show();
        return true;
    }
    return super.onKeyDown(keyCode, event);    
}

答案 2 :(得分:1)

  

我正在研究一个应用程序,我希望它是这样的,当用户按下home然后什么都不应该发生。是否有可能实现这一目标?

让您的应用成为主屏幕。用户仍然可以通过在安全模式下重启来删除您的应用。