【发布时间】:2014-01-22 06:41:23
【问题描述】:
我有很多活动,必须遍历导航抽屉中的所有活动。我想从主屏幕退出应用程序是否有许多活动尚未完成。为此,我使用了 NavUtils,因为我们可以从“NavUtils.navigateUpFromSameTask(MyClass.this)”方法移至父活动。例如,我在这里有两个活动 splashScreen.class 和 ManinActivity.class 我通过完成 splashScreen 从 splashScreen 活动开始活动 & splashscreen 是 MainActivity 的父类 & 通过从 mainactivity 退出应用程序,应用程序在某些手机中完成,但在某些手机中,应用程序转到父活动的 onCreate 方法称为 splashScreen。我不明白为什么会这样。如果你知道更好的程序或者我做错了什么,请帮助我这是我从 MainActivity 退出应用程序的代码:
NavUtils.navigateUpFromSameTask(MainActivity.this);
然后我像这样从 splashScreen 启动 MainActivity:
public void StartMainActivity()
{
Intent mainActivity = new Intent(splashScreen.this,MainActivity.class);
startActivity(mainActivity);
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>
【问题讨论】:
-
@Raghunandan 我读过这篇我只是不知道为什么它会在一些手机上启动 splashScreen 如果已经完成
-
或者有没有更好的程序让应用程序从特定活动中退出?
-
通过在覆盖 onPause 中扩展 Activity 并调用
finish()来创建一个 baseActivity。使您的所有活动都从 BaseActivity 扩展。或清除后台堆栈并调用finish()。但是,当您单击后退按钮时,它应该带您回到上一个活动。这就是它的目的。所以重新考虑你的设计 -
@Raghunandan 我将如何编写代码以完成 BaseActivity 的 onPause 中的所有活动?那么 BaseActivity 的 onPause 方法的运行过程是什么?
标签: java android android-activity activity-finish