0

我有以下问题:

当我按下 Android HOME 键时,我可以看到“桌面”和我的应用程序图标。然后我按下我的应用程序图标,我的应用程序启动了两次。我不想打开我的应用程序两次。

我的程序是如何工作的:

我有 4 个活动(A、B、C、D)。

A - 主要活动:它是第一个打开的。它打开了另一个有很多按钮的活动。这就像 Java 的 main() 方法。我显示一个 SplashScreen 并调用另一个 Activity。然后我完成我的活动“A”。

B - 菜单屏幕:在这个活动中,我有一些按钮,比如菜单。我有一个配置按钮、更新按钮和登录按钮。当我单击登录按钮时,我完成了此活动并打开登录屏幕(活动“C”)。

C - 登录屏幕:用户输入登录名和密码。如果登录成功,我完成这个活动并打开活动“D”。

D - 应用程序主屏幕:它一直保持打开状态并启动另一个活动。当我想关闭我的应用程序时,我完成了这个。

PS:我尝试更改launchMode标志(androidManifest.xml),但没有奏效。

我的 AndroidManifest.xml 如下:

<application android:label="@string/app_name" android:icon="@drawable/icon" android:name="MyApplication">
    <activity android:name="A"
              android:label="@string/app_name"
              android:configChanges="orientation">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="br.com.site.B" android:label="@string/app_name" />
    <activity android:name="br.com.site.C" android:label="@string/app_name" />
    <activity android:name="br.com.site.D" android:label="@string/app_name" />
</application>

这是我的活动“A.java”来源:

public class A extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        finish();
        startActivity(new Intent(this, AtualizaDadosFrame.class));
    }
}

我不想打开我的应用程序两次。

提前致谢!

4

3 回答 3

2

我将假设您最初(第一次)从 IDE(如 Eclipse 或 IntelliJ)启动应用程序。如果是这样,这是 Android 中的一个已知错误(请参阅http://code.google.com/p/android/issues/detail?id=26658)。许多人已经为这个问题苦苦挣扎了好几天:-(

请不要更改启动模式。这不是解决此问题的正确方法。默认(标准)启动模式是在大多数情况下有效的模式。

编辑(添加了解决方法的链接):

可以在http://code.google.com/p/android/issues/detail?id=2373#c21找到针对此问题的简单解决方法

于 2012-05-22T16:01:36.773 回答
0

您应该AndroidManifest.xml.

于 2012-05-22T15:38:33.733 回答
0

你可以限制这个.....请通过下面的链接。

Home 按键行为

于 2012-05-22T15:58:02.190 回答