我从片段A开始B片段。现在从片段B开始我点击Home Button.Again我打开应用程序并调用OnResume。现在,如果我按回按钮,它将退出应用程序。我该怎么办?
片段A到片段B活动
Intent find = new Intent(getActivity(),FindActivityMain.class);
find.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
***startActivity(find);***Here i am not finishing the activity.
片段B活动到片段B交易代码
Fragment myfindfragment = new FindFragmentMain(FindActivityMain.this,mylistitem,FindActivityMain.this,distance,featuredAD);
getSupportFragmentManager().beginTransaction()
.replace(R.id.blankfindlandingframe, myfindfragment).commitAllowingStateLoss();
}
片段A活动是在Manifest中声明的“SingleInstance”。一般来说,后退导航工作正常。但是如果我执行这些步骤 - > 1.)单击主页按钮 2.)再次长按主页按钮恢复应用程序 3.)单击后退按钮。退出应用程序。
不应该发生第3步。
请帮助!!
答案 0 :(得分:0)
删除find.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
答案 1 :(得分:0)
添加你的代码'addToBackStack(null)'
Fragment myfindfragment = new FindFragmentMain(FindActivityMain.this,mylistitem,FindActivityMain.this,distance,featuredAD);
getSupportFragmentManager().beginTransaction()
.replace(R.id.blankfindlandingframe, myfindfragment).addToBackStack(null).commitAllowingStateLoss();
}
答案 2 :(得分:0)
内部活动B添加:
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
{
finish();
return false;
}
return super.onKeyDown(keyCode, event);
}