不要在清单中声明main / launcher活动

时间:2014-11-03 08:33:54

标签: android android-intent android-manifest

在我的应用中,我在首次启动时启动初始设置活动。

// main activity onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

if (PreferencesUtility.firstStartup(this) ) {// helper class to access SharedPreferences
    Intent setupActivity = new Intent(this, SetupActivity.class);
    startActivity(setupActivity);

    finish();
    return;
}
...
...

}

这段代码正在运行,但我觉得更好的地方就是我的Application类。这并不需要在"初始启动后立即开始和完成主要活动"检查...

有没有办法动态选择启动活动? 我试图删除" main"和"发射器"从Manifest.xml过滤意图 并在我的Applications onCreate

中添加了以下代码
    Intent startIntent = new Intent(this, LogBookActivity.class);

    startIntent.setAction(Intent.ACTION_MAIN);
    startIntent.addCategory(Intent.CATEGORY_LAUNCHER);  


    startActivity(startIntent);

但没有任何事情发生。 我认为至少我的应用程序onCreate会被称为......

1 个答案:

答案 0 :(得分:1)

你真的必须为此启动一个单独的活动吗? 为什么不为这些初始步骤创建片段,然后您不必终止主要活动,只需切换到此片段。