Java 如何以编程方式将所需的活动作为应用程序的主启动器

Java 如何以编程方式将所需的活动作为应用程序的主启动器,java,android,Java,Android,我的小安卓模块中有两个活动,MainActivity和LauncherActivity。我在Mainactivity中有一个复选框和按钮。当我点击该按钮时,如果选中复选框,则它将导航到launcher活动,并将LauncherActivity设置为默认主启动器;如果未选中复选框,则它将导航到LauncherActivity作为简单导航,而无需对应用程序模块进行任何更改。所有这些都必须通过编程完成 提前谢谢 不能以编程方式更改启动器活动。您可以做的是将复选框值写入共享首选项,并在应用程序启动时进行

我的小安卓模块中有两个活动,MainActivity和LauncherActivity。我在Mainactivity中有一个复选框和按钮。当我点击该按钮时,如果选中复选框,则它将导航到launcher活动,并将LauncherActivity设置为默认主启动器;如果未选中复选框,则它将导航到LauncherActivity作为简单导航,而无需对应用程序模块进行任何更改。所有这些都必须通过编程完成


提前谢谢

不能以编程方式更改启动器活动。您可以做的是将复选框值写入共享首选项,并在应用程序启动时进行检查,然后立即重定向到其他活动

大概是这样的:

public class MainActivity extends Activity{

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (SharedPrefsManager.isCheckboxSet()){
        Intent i = new Intent(MainActivity.this, LauncherActivity.class);
        startActivity(i);
        finish();
        return;
    }
}

您可以创建单独的
活动
,作为应用程序的入口点。让我们称之为
EntryPointActivity
。使用launcher intent筛选器在清单中声明它:

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


然后在它的
onCreate()
方法中,您可以决定真正要启动哪个活动,启动它并调用finish。要保存和检索启动后应显示的活动,您可以使用
SharedReferences
或任何其他存储

欢迎来到StackOverflow。我们不是一个代码编写服务,而是一个由专业开发人员和热心人士组成的帮助他人的社区。与其发布“请为我编写此代码”的请求,不如提出一个问题——包括向我们展示您的代码,解释您为解决问题所做的工作,并明确说明您在哪些方面需要帮助。这里有一个链接解释如何提出一个好问题: