1

请允许我解释一下我的困境。

我一直在构建一个应用程序,它会立即进入我的MainActivity.class. 我在文件中声明了这个活动AndroidManifest.xml

<intent-filter>
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

然后我意识到我想在我的应用程序中添加一个登录活动,所以NewMainActivity.class需要一个。我已经能够成功实施这个新活动。我将<intent-filter>旧的更改MainActivity.class为以下内容:

<intent-filter>
   <action android:name="android.intent.action.VIEW" />
   <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

然而,这是我的问题出现的地方。

当我在登录页面 ( ) 上按返回键时,NewMainActivity.class它会通过onPause()onStop()onDestroy()方法。当我再次启动应用程序时,登录页面 ( NewMainActivity.class) 未显示,MainActivity.class而是显示旧页面。

谁能猜出我仍然缺少/做错了什么?在我看来,它现在应该总是从登录页面开始。让我知道代码示例是否会有所帮助。

4

2 回答 2

0

如果一开始 Yury 的建议不起作用,并且您做了类似于我所做的事情,即在多台计算机之间复制和粘贴您的工作区,并且每次都将项目加载到 Eclipse,那么只需启动一个新项目并复制其中的实际文本您所有的课程都在新项目中的新课程中。

于 2012-05-19T16:26:13.377 回答
0

从您的旧 MainActivity.class 中删除您定义的意图过滤器:

<intent-filter>
   <action android:name="android.intent.action.VIEW" />
   <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

更新:我一开始对你的问题理解不正确。我建议删除的意图过滤器除了导出您的活动之外什么都不做。这意味着任何应用程序都可以调用您的 MainActivity.class 的活动,因此,无论如何都应该将其删除。

现在关于登录活动。据我了解,您的情况如下。当您启动应用程序时,它首先启动登录活动。然后输入您的凭据,如果登录过程成功,则会出现主要活动。

因此,堆栈中有两个活动:登录和主类。当您按下主页按钮并再次运行您的应用程序时,它会从堆栈中的最后一个活动开始,即主活动。

因此,问题不在于您的意图过滤器。你应该完成你的活动。在这种情况下,您将始终从登录活动开始。

于 2012-02-19T23:20:16.337 回答