原理:
因为通过普通的按键监听无法捕捉,因为系统已经在底层屏蔽了home事件,所以我们就得以其他方式监听。
通过Activity的生命周期来监听。
因为按了home键后,activity会调用先调用finish(),然后调用onStop()方法。所以我们就可以设置一个标志位,通过标志位来判断。
上代码:
boolean isFinish = false;
@Override
protected void onStop() {
super.onStop();
if (isFinish == false) {
Toast.makeText(getApplicationContext(), "you click home", Toast.LENGTH_SHORT).show();
}
}
@Override
public void finish() {
super.finish();
isFinish = true;
}