@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//判断当前界面是否在主界面 ,如果在主界面 弹出土司 ,不是在主界面 返回上一级
Fragment ft = (Fragment) getSupportFragmentManager().findFragmentById(R.id.container);//realtabcontent为你的容器,装载fragment的
if (ft instanceof HomePageFragment || ft instanceof CalendarFragment || ft instanceof HandInHomeworkFragment || ft instanceof ArtSceneFragment || ft instanceof MyFragment) {
if (0 == mExitTime) {
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
mExitTime = System.currentTimeMillis();
} else if ((System.currentTimeMillis() - mExitTime) > 2000) {
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
mExitTime = System.currentTimeMillis();
} else {
finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
这个可以写在mainactivity中
@Override
public void onBackPressed() {
long mNowTime = System.currentTimeMillis();//获取第一次按键时间
if ((mNowTime - mPressedTime) > 2000) {//比较两次按键时间差
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
mPressedTime = mNowTime;
} else {//退出程序
this.finish();
System.exit(0);
}
}