java - 选择在应用程序初始化时启动哪个 Activity ?

标签 java android

很难概括标题中的问题,但它确实不是很复杂。

我的问题是:安装应用程序后,您会在 Play 商店中看到一个“打开应用程序”按钮,它会启动您的应用程序,就像您在 Eclipse 上单击运行时一样。当您执行其中任何一项操作时, list 中的第一个启动器 Activity 就会启动。

例如,如果这是我的 list :

    <!-- 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 将启动,因为第一个 Activity 不是启动器应用程序。

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

最佳答案

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

关于java - 选择在应用程序初始化时启动哪个 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14620478/

相关文章:

java - 如何在Swing中读取和显示大文本文件?

java - Eclipse Java 格式化程序。花括号之前换行,但之后没有

java - 该方法和构造函数似乎作用于两个不同的传入/存储变量

java -\b 在 IntelliJ 的控制台中表现得很奇怪

java - onCommand() 设置正确但根本没有执行

android - 滚动时如何自动隐藏 v7 appbar 部分隐藏它 - android

android - Android 12 中的 IntentFilter 和导出组件是否有任何(记录不详的)更改?

android - 如何启动所有 map 应用程序 android Intent

android - 无法从 ubuntu 12.04 中的 adt 包启动 eclipse

Java静态多态(重载)和泛型之间的继承