当我的应用首次打开时,呈现给用户的第一个活动可能会因配置选项而异。我只知道如何通过在Manifest中添加类似的内容来硬编码应用程序运行时运行的第一个活动
<activity android:label="@string/app_name" android:name=".MyFirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
其中MyFirstActivity是要运行的第一个活动类的类名。如何在首次启动应用时动态选择首先运行的活动,而不是在清单中对其进行硬编码?
谢谢!
答案 0 :(得分:9)
选项#1:在onCreate()
的{{1}}中,为正确的活动致电MyFirstActivity
,然后startActivity()
。
选项#2:使用finish()
LAUNCHER
定义多项活动,除了一项禁用之外的所有活动。首次运行(或根据需要),启用正确的活动并禁用其他活动。缺点:可能需要重新启动电话才能更新启动器,因为并非所有主屏幕启动器都会检测到您的更改。
选项#3:重新设计GUI,这不是问题。