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

lis*_*aro 6 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>
Run Code Online (Sandbox Code Playgroud)

单击打开时SettingsActivity将启动,因为第一个活动不是启动器应用程序.

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

cla*_*ker 2

应该根据 Intent 级别来区分这一点。相反,您的应用程序应该有一个SharedPreferences文件,您可以在其中写入一个表示版本的整数(如果版本尚不存在)。表示旧版本。然后,基于该机制,您可以实现“首次安装”和/或“更新后首次运行”逻辑。