按下后退按钮时,我需要最小化应用程序。
我使用以下代码来捕获硬件后退按钮单击事件
帮助我按下后退键的最小化代码
@Override
public boolean onKeyDown(int keyCode, keyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_BACK;
//minimize application
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 0 :(得分:38)
我认为您需要将back
事件视为home
事件。以下代码是当用户按下home
按钮时按下back
的方式:
public void minimizeApp() {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
答案 1 :(得分:18)
这是一个最小化应用程序的简单代码
@Override
public void onBackPressed() {
this.moveTaskToBack(true);
}
答案 2 :(得分:7)
尝试此代码,这将最小化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);
答案 3 :(得分:-1)
@Override
public boolean onKeyDown(int keyCode, keyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_BACK;
//minimize application..assuming the current filename is MainActivity.java
MainActivity.this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
上述代码将请求系统结束活动。如果系统没有资源耗尽,那么当您重新打开应用程序时,应该打开您离开的位置。即。 onResume()应该开始。