我只是想在用户按下主页时完全退出应用,或者切换到其他应用。有没有我可以听的事件,以便我可以退出代码?
答案 0 :(得分:0)
当按下Home键时,您可以这样处理:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
finish();
}
return false;
}
答案 1 :(得分:0)
试试这个,我可以正常使用
// clear whole activity stack
Intent intent = new Intent("clearStackActivity");
intent.setType("text/plain");
sendBroadcast(intent);
// start your new activity
Intent intent = new Intent(OrderComplete.this,
MainActivity.class);
startActivity(intent);
将这些行放在所有活动的onCreate()方法中,或者如果你有任何基本活动,你可以将它放在那里,那么就不需要放入所有活动。
private KillReceiver clearActivityStack;
clearActivityStack = new KillReceiver();
registerReceiver(clearActivityStack, IntentFilter.create("clearStackActivity", "text/plain"));
将此课程放入您的基础活动
private final class KillReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
}
答案 2 :(得分:0)
我是从here找到的。
在您的活动中覆盖以下方法。
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
覆盖上述方法后,现在您可以使用onKeyDown()
方法轻松收听活动中的 HOME 按键。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
//The Code Want to Perform.
}
});