很难总结标题中的问题,但实际上并不是很复杂。
我的问题是:在安装应用程序后,您会看到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
?
答案 0 :(得分:2)
您应该不根据意图级别区分它。相反,为您的应用程序提供一个SharedPreferences文件,在该文件中,如果版本尚不存在,则编写一个表示该版本的整数。表示旧版本。然后,基于该机制,您实施&#34;首次安装&#34;和/或&#34;首先在更新后运行&#34;逻辑。
答案 1 :(得分:0)
您必须从SettingsActivity
中删除意图过滤器
要解决重定向用户,有许多解决方案: 1-您可以使用两种不同的方法,添加SplashScreen活动并添加逻辑以确定下一个活动。 2-添加非可见UI活动作为主Activity,有关更多详细信息,请参阅本教程: TranscludeActivity
3-将luncher设为主活动,之后,在onCreate方法中,测试设置是否存在,如果没有启动SettingsActivity并调用finish();