【发布时间】:2012-05-22 15:34:00
【问题描述】:
我有以下问题:
当我按下 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));
}
}
我不想打开我的应用两次。
提前致谢!
【问题讨论】:
-
打开应用两次是什么意思?你不想再看到活动 a-c 吗?
-
您最初(第一次)是否通过 IDE(如 Eclipse 或 IntelliJ)启动了您的应用程序?您是如何在手机上安装该应用程序的?
-
嗨,大卫·瓦瑟!该应用程序已安装在手机上。顺便说一句,这个错误只发生在手机上。
-
好的,您是如何在手机上安装应用程序以及如何第一次启动应用程序?
-
嗨,大卫!我将APK文件复制到手机,然后点击APK文件安装。安装应用程序后,我单击应用程序图标启动它。
标签: android android-activity launchmode