【问题标题】:I need to minimize the android application on back button click我需要在单击后退按钮时最小化 android 应用程序
【发布时间】:2015-03-25 14:46:04
【问题描述】:

按下后退按钮时我需要最小化应用程序。

我使用以下代码来捕获硬件后退按钮单击事件


帮我解决按下后退键最小化的代码

@Override
public boolean onKeyDown(int keyCode, keyEvent event) {
    switch(keyCode) {
    case KeyEvent.KEYCODE_BACK;
    //minimize application
    return true;
    }
    return super.onKeyDown(keyCode, event);
}

【问题讨论】:

    标签: java android android-activity


    【解决方案1】:

    我认为您需要将back 事件视为home 事件。下面的代码是当用户按下back 按钮时我模拟home 按下的方式:

     public void minimizeApp() {
        Intent startMain = new Intent(Intent.ACTION_MAIN);
        startMain.addCategory(Intent.CATEGORY_HOME);
        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(startMain);
    }
    

    【讨论】:

    • 我是新来的..帮我怎么做?
    • 在每个答案中,赞成/反对票下方都有一个勾号(复选)图像。您可以勾选它(从灰色 -> 绿色)以接受此答案,以避免任何人重新回答此问题。
    • @KingfisherPhuoc ,如果在我的应用程序后面打开了另一个应用程序,在调用minimizeApp() 时它会最小化在后台打开的所有应用程序。如何克服这个问题?
    【解决方案2】:

    这是一个最小化应用程序的简单代码

    @Override
    public void onBackPressed() {
            this.moveTaskToBack(true);
    }
    

    【讨论】:

    • 你救了我!在寻找“释放前台”一周后,我终于找到了您的精彩答案。这完全回答了我的问题,即使它与这个不同。
    【解决方案3】:

    试试这个代码,这将最小化 Activity。

    public boolean onKeyDown(int keyCode, KeyEvent event)  
    {
         if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
         {
            this.moveTaskToBack(true);
            return true;
         }
        return super.onKeyDown(keyCode, event);
    }
    

    如果要关闭活动,请使用this.finish() 方法关闭当前正在运行的活动。而不是this.moveTaskToBack(true);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多