如何以编程方式从应用程序中作为主启动器进行所需的活动

时间:2016-10-13 07:31:47

标签: java android

我的小型Android模块MainActivity和LauncherActivity中有两个活动。我在Mainactivity中有一个复选框和按钮。当我单击该按钮并且如果选中复选框,则导航到启动器活动并将LauncherActivity设置为默认主启动器,如果未选中复选框,则导航到LauncherActivity作为简单导航而不对应用程序模块进行任何更改。所有这些必须是以编程方式完成。

先谢谢..

2 个答案:

答案 0 :(得分:1)

您无法以编程方式更改启动器活动。您可以做的是将复选框值写入共享首选项,并在应用程序启动时检查它,然后立即重定向到另一个活动。

这样的事情:

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;
    }
}

答案 1 :(得分:0)

您可以创建单独的Activity,它将成为您的应用程序的入口点。我们称之为EntryPointActivity。使用启动器意图过滤器在清单中声明它:

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

然后在onCreate()方法中,您可以决定您真正想要开始的活动,启动它并调用完成。要保存并检索启动后应显示哪些活动,您可以使用SharedPreferences或任何其他存储。