java - 如何在应用程序运行时切换启动器活动
问题描述
我有一个应用程序,它有两个主要活动 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>
我想要的是能够在我的设置活动中切换启动器活动。这可能吗?它将如何运作?
解决方案
我所做的只是创建一个共享偏好布尔值,知道要打开哪个活动。然后从 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 布尔值确保活动的切换仅在应用程序刚刚打开时发生
推荐阅读
- javascript - 更新烧瓶而不刷新
- bash - Sed 内联动态替换表达式抛出:不匹配的 '|'
- javascript - Flask 没有看到 React 的 'bundle.js',只有 'index.html'
- javascript - 如何在 VueJS 2 中列出来自 firebase 的项目?
- python - 如何使用 azureml 中上传到 pandas 的数据集进行分析?
- spring-boot - 文本响应中的邮递员“意外令牌错误”
- c# - Unity:应用预制件时的空引用
- c# - 定时器创建另一个线程并触发异常
- cookies - 在不发送到浏览器和文档标题的情况下使用 cookie
- arrays - 无法运行 HIVE 查询