安卓中能识别是否是根页面的“再按一次退出”

作者:vkvi 来源:ITPOW(原创) 日期:2020-9-10

安卓中,通过重载 onKeyDown 可以实现“再按一次退出”功能,但是这种应该仅在根页面(Activity)实现,其他页不应该有这个效果,要实现这个,关键在于:isTaskRoot()。

代码如下:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
	if (keyCode != KeyEvent.KEYCODE_BACK) {
		return super.onKeyDown(keyCode, event);
	}
	
	if (!isTaskRoot()) {
		return super.onKeyDown(keyCode, event);
	}

	if (System.currentTimeMillis() - exitTipTime <= 2000) {
		return super.onKeyDown(keyCode, event);
	} else {
		exitTipTime = System.currentTimeMillis();
		Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
		return true; // 返回 true,表示已经处理了 onKeyDown。
	}
}
相关文章