我是android和java的新手。我创建了9个活动(屏幕),每个人都有一个下一个按钮导航到下一个屏幕,第9个屏幕有一个退出按钮来关闭应用程序。但是如果我调用finish()或者android.os.process.killProcess api它会转到上一个屏幕,但它没有关闭整个应用程序。
请您提供关闭整个应用程序的代码段。
答案 0 :(得分:2)
如果您不想在开始新活动之前回到之前的活动,那么finish()
每个活动。
Intent intent = new Intent(this, Second.class);
startActivity(intent);
finish();
第二个选项是在每个活动中使用startActivityForResult()
,在最后一个活动中使用setResult()
,对onActivityResult()
之前的所有活动执行回调finish()
。
int AnyNumber = 123;
Intent intent = new Intent(this, Second.class);
startActivityForResult(intent, AnyNumber);
覆盖onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == MyRequestCode){
if(resultCode == Activity.RESULT_OK){
finish();
}
}
}
在每个活动中执行此操作,并在第9个活动中设置结果
setResult(Activity.RESULT_OK);
这将回拨,所有活动将完成,具体取决于requestCode
。
答案 1 :(得分:0)
:
android.os.Process.killProcess(android.os.Process.myPid());
答案 2 :(得分:0)