选择要在应用初始化时启动的活动?

时间:2013-01-31 07:22:41

标签: java android

很难总结标题中的问题,但实际上并不是很复杂。

我的问题是:在安装应用程序后,您会看到Play商店中的“打开应用程序”按钮,与您在Eclipse上单击运行时类似,启动您的应用程序。当您执行上述任一操作时,清单中的第一个启动器活动将启动。

例如,如果这是我的清单:

    <!-- Home screen replacemnt -->
    <activity
        android:name=".launcher" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

    <!-- Launcher Application -->
    <activity
        android:name=".SettingsActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

点击打开时,SettingsActivity将会启动,因为第一个活动不是启动器应用。

我的问题是,用户第一次打开我的应用时,我希望他们看到启动器。如何在我的应用程序打开时确保启动.launcher

2 个答案:

答案 0 :(得分:2)

您应该根据意图级别区分它。相反,为您的应用程序提供一个SharedPreferences文件,在该文件中,如果版本尚不存在,则编写一个表示该版本的整数。表示旧版本。然后,基于该机制,您实施&#34;首次安装&#34;和/或&#34;首先在更新后运行&#34;逻辑。

答案 1 :(得分:0)

您必须从SettingsActivity

中删除意图过滤器

                                  

要解决重定向用户,有许多解决方案: 1-您可以使用两种不同的方法,添加SplashScreen活动并添加逻辑以确定下一个活动。 2-添加非可见UI活动作为主Activity,有关更多详细信息,请参阅本教程: TranscludeActivity

3-将luncher设为主活动,之后,在onCreate方法中,测试设置是否存在,如果没有启动SettingsActivity并调用finish();

相关问题