我有以下问题:
当我按下Android HOME键时,我可以看到“桌面”和我的应用程序图标。然后我按下我的应用程序图标,我的应用程序启动两次。我不想两次打开我的应用程序。
我的计划如何运作:
我有4项活动(A,B,C,D)。
A - 主要活动:它是第一个打开的。它会打开另一个有很多按钮的活动。它就像Java的main()方法。我显示了一个SplashScreen,我调用另一个Activity。然后我完成我的活动“A”。
B - 菜单屏幕:在此活动中,我有一些按钮,如菜单。我有一个配置按钮,更新按钮和登录按钮。当我单击登录按钮时,我完成此活动并打开登录屏幕(活动“C”)。
C - 登录屏幕:用户编写登录名和密码。如果登录成功,我将完成此活动并打开活动“D”。
D - 应用程序主屏幕:它始终保持打开状态并启动另一个活动。当我想要关闭我的申请时,我完成了这个。
P.S。:我尝试更改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));
}
}
我不想两次打开我的应用。
提前致谢!
答案 0 :(得分:2)
我将假设您最初(第一次)从IDE(如Eclipse或IntelliJ)启动了应用程序。如果是这样,这是Android中的已知错误(请参阅http://code.google.com/p/android/issues/detail?id=26658)。很多人一直在努力追逐这个问题: - (
请不要更改launchMode。这不是解决此问题的正确方法。默认(标准)launchMode是大多数情况下都适用的。
编辑(添加了解决方法的链接):
可以在http://code.google.com/p/android/issues/detail?id=2373#c21
找到此问题的简单解决方法答案 1 :(得分:0)
您应在AndroidManifest.xml
中设置所需的launch mode。
答案 2 :(得分:0)
你可以限制这..... 请点击以下链接。