Rob*_*Rob 4 javascript android android-activity
我有一个Android应用程序,有3个活动.对于第一个和第二个活动,我希望后退按钮退出所有现有活动.
当后退按钮退出活动时,它会启动,但如果按下第二个活动,则会显示第一个活动,而不是退出应用程序,因为第一个活动将指向第二个活动.
我需要此功能的原因是因为第1和第2个活动使用计时器计时器,当我按下HOME按钮时它继续运行.但我需要一种方法来重置计时器以使用BACK按钮完全退出应用程序.
这是我在第1和第2活动中出现的后退按钮的代码.
@Override
public void onBackPressed() { // method for exit confirmation
AlertDialog.Builder builder = new AlertDialog.Builder(BreakActivity.this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
BreakActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
};
Run Code Online (Sandbox Code Playgroud)
我研究了使用以下代码的可能性:
intent = new Intent(this, FinActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent)
finish();
Run Code Online (Sandbox Code Playgroud)
但是,我不确定应该在哪里实现,如果在按下BACK按钮后显示确认消息后选择"是",我真的只想结束所有应用程序(参见第一个代码片段).
任何帮助这项工作将不胜感激!
谢谢
Avi*_*nku 11
使用意向使用完成功能从活动1到2和2到3导航时的@Rob
喜欢
i=new Intent(Main_Menu.this, ABC.class);
finish();
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
它将终止您将进入下一个活动的活动,然后当您按下后退按钮时,它会将您带到应用程序之外,因为堆栈中没有活动
你可以用它
finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
注意有一件事总是避免system.exit从应用程序退出它不被推荐,并可能导致各种问题
https://groups.google.com/forum/?fromgroups#!topic/android-developers/Y96KnN_6RqM
| 归档时间: |
|
| 查看次数: |
6093 次 |
| 最近记录: |