【问题标题】:I click HOME button and the program minimizes; but when I press the app icon, the program is launched twice我单击 HOME 按钮,程序最小化;但是当我按下应用程序图标时,程序会启动两次
【发布时间】: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


【解决方案1】:

我将假设您最初(第一次)从 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找到解决此问题的简单方法

【讨论】:

  • 我没有建议你改变启动模式。你看过我发布的链接吗?
【解决方案2】:

您应该在您的AndroidManifest.xml 中设置所需的launch mode

【讨论】:

    【解决方案3】:

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

    Home key press behaviour

    【讨论】:

      猜你喜欢
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      相关资源
      最近更新 更多