首页 > 解决方案 > 如何在应用程序运行时切换启动器活动

问题描述

我有一个应用程序,它有两个主要活动 MainActivity1 和 MainActivity2。我在 MainActivity1 上有启动器的 Intent 过滤器

       activity android:name=".MainActivity1">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

我想要的是能够在我的设置活动中切换启动器活动。这可能吗?它将如何运作?

标签: javaandroid-activityandroid-manifestintentfilterandroid-launcher

解决方案


我所做的只是创建一个共享偏好布尔值,知道要打开哪个活动。然后从 MainActivity1 我用一个意图去 MainActivity2

Intent intent = getIntent();
    boolean firstTimeOpening = intent.getBooleanExtra("BOOLEAN_FIRST_TIME_OPENING", true);

    SharedPreferences preferences = getSharedPreferences("SHARED_PREFERENCES", MODE_PRIVATE);
    boolean startAppWithActivity1 = preferences.getBoolean(START_APP_WITH_ACTIVITY1, true);
    if(!startAppWithActivity1 && firstTimeOpening){ startActivity(new Intent(MainActivity1.this, MainActivity2.class));

}

很容易。firstTimeOpening 布尔值确保活动的切换仅在应用程序刚刚打开时发生


推荐阅读