我有这个活动流程
HomeActivity> Activity1>活动2>活动3> HomeActivity
我可以通过按活动3上的取消按钮直接从Activity3切换回HomeActivity。
但是当我按下HomeActivity上的后退按钮时,我想退出应用程序,但它会将我带回Activity3 ...如何退出应用程序???这是我的代码 在家庭活动:
@Override
public void onBackPressed() {
finish();
System.exit(1);
}
如果我在HomeActivity上启动应用程序时按下后退按钮,它会正常工作,关闭应用程序...
当我浏览所有其他活动时如何使其工作?
答案 0 :(得分:2)
首先请注意,在浏览活动时,您创建了一堆活动,这就是为什么只调用 dayParameter.Value = Convert.ToString(Convert.ToDateTime(Jfunctionparents.GetSystemDate().Substring(0, 2)));
monthParameter.Value = Convert.ToString(Convert.ToDateTime(Jfunctionparents.GetSystemDate().Substring(3,2)));
yearParameter.Value = Convert.ToString(Convert.ToDateTime(Jfunctionparents.GetSystemDate().Substring(6,4)));
完成您的HomeActivity,然后android获取堆栈上的先前活动,即活动3并把它放在屏幕上。
我会这样做:
1)从Activity3调用HomeActivity,如下所示:
public class Jfunctionparents
{
public static string GetSystemDate()
{
return Convert.ToString(System.DateTime.Today.ToString("d"));
}
public static string GetSystemTime()
{
return Convert.ToString(System.DateTime.Today.ToString("t"));
}
这将调用您的HomeActivity并清除堆栈中的所有活动
2)在HomeActivity上System.FormatException: String was not recognized as a valid DateTime. at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles) at System.Convert.ToDateTime(String value)
添加:
finish()
希望这有用!如果代码无效或者我误解了这个问题,请不要怀疑评论。
答案 1 :(得分:1)
您应该以这种方式从Activity3切换到HomeActivity:
Intent launchNextActivity = new Intent(Activity3.this, HomeActivity.class);
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(launchNextActivity);
然后onBackPressed()
应该可以正常工作。
答案 2 :(得分:0)
尝试打电话
finishAffinity();在HomeAactivity
的onBackPressed()中。