Java 通过android中的NavUtils退出应用程序
我有很多活动,必须从导航抽屉遍历所有活动。我想从主屏幕退出应用程序,不管有多少活动尚未完成。为此,我使用了NavUtils,因为我们可以从“NavUtils.navigateUpFromSameTask(MyClass.this)”方法移动到父活动。例如,我在这里有两个活动:splashScreen.class和ManinActivity.class i startactivity,通过完成splashScreen,splashScreen是MainActivity的父类,通过退出MainActivity的应用程序,某些手机上的应用程序完成,但在某些手机上,应用程序转到父活动的onCreate方法,因此称为splashScreen。我不明白为什么会发生这种情况。如果您知道更好的程序,或者如果我做错了什么,请帮助我这是我从MainActivity退出应用程序的代码:Java 通过android中的NavUtils退出应用程序,java,android,android-activity,activity-finish,Java,Android,Android Activity,Activity Finish,我有很多活动,必须从导航抽屉遍历所有活动。我想从主屏幕退出应用程序,不管有多少活动尚未完成。为此,我使用了NavUtils,因为我们可以从“NavUtils.navigateUpFromSameTask(MyClass.this)”方法移动到父活动。例如,我在这里有两个活动:splashScreen.class和ManinActivity.class i startactivity,通过完成splashScreen,splashScreen是MainActivity的父类,通过退出MainAct
NavUtils.navigateUpFromSameTask(MainActivity.this);
我从splashScreen开始MainActivity,如下所示:
public void StartMainActivity()
{
Intent mainActivity = new Intent(splashScreen.this,MainActivity.class);
startActivity(mainActivity);
finish();
}
Intent intent = new Intent(MainActivity.this, DashBoardActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
以下是清单代码:
<activity
android:name=".MainActivity"
android:label="StoneAge"
android:parentActivityName="com.experlabs.brandappy.splashScreen">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.experlabs.brandappy.splashScreen" />
</activity>
当你决定退出应用程序时,你可以做两件事
查看此以了解更多信息。您只需创建一个类似DashBoard的活动即可完成应用程序,该活动只调用Oncreate方法中的finish()方法。&在要退出应用程序的位置,您可以输入Flag_activity_Clear_Top和Flag_activity_New_任务,如下所示:
public void StartMainActivity()
{
Intent mainActivity = new Intent(splashScreen.this,MainActivity.class);
startActivity(mainActivity);
finish();
}
Intent intent = new Intent(MainActivity.this, DashBoardActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
如果您想通过跳过中间活动来调用任何以前的活动,您可以将该活动添加到xml中提到的父活动中,当您需要导航时,只需输入代码:
NavUtils.navigateUpFromSameTask(this);
查看docs@Raghunandan我读过这篇文章,我只是不知道为什么它会在一些手机上启动splashScreen,如果已经完成了,或者是否有更好的程序从特定活动中退出应用程序?通过在暂停时扩展覆盖中的活动并调用
finish()
,来创建基本活动。使您的所有活动都从BaseActivity扩展。或者清除backstack并调用finish()
。但是,当您单击“后退”按钮时,它应该会将您带回上一个活动。这就是它的本意。所以你要重新考虑你的计划design@Raghunandan如何编写代码以在BaseActivity的onPause中运行“完成所有活动”?那么在BaseActivity的Pause方法上运行的过程是什么呢?