【问题标题】:How to switch launcher activity while the application is running如何在应用程序运行时切换启动器活动
【发布时间】:2021-07-27 00:58:27
【问题描述】:

我有一个具有两个主要活动 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>

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

【问题讨论】:

  • 为什么需要这样做?请说明您要这样做的原因。
  • 我有一个包含两个主要活动的应用程序,我希望用户可以选择他们想先看到哪个活动

标签: java android-activity android-manifest intentfilter android-launcher


【解决方案1】:

我所做的只是创建一个共享首选项布尔值以知道要打开哪个活动。然后从 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 布尔值确保切换 的活动仅在应用程序刚打开时发生

【讨论】:

  • 这是解决问题的更好方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多