我刚接触安卓和Java。我创建了9个活动(屏幕),每个屏幕上都有一个下一步按钮,以导航到下一个屏幕,第9个屏幕有一个退出按钮来关闭应用程序。但是,如果我调用finish()或android.os.process.killProcess api,它会返回到前一个屏幕,但无法关闭整个应用程序。
请提供代码片段以关闭整个应用程序。
请提供代码片段以关闭整个应用程序。
finish()
每个活动即可。Intent intent = new Intent(this, Second.class);
startActivity(intent);
finish();
第二种选择是在每个Activity中使用startActivityForResult()
,并在执行回调的最后一个Activity中使用setResult()
,以便向所有先前的Activities发送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
。
在主Activity中:
android.os.Process.killProcess(android.os.Process.myPid());
http://developer.android.com/guide/topics/fundamentals/fragments.html