我有一个Android应用程序需要在启动时决定首先加载哪个活动(来自2个活动)。该应用程序是一种警报。所以,我必须通过检查是否已设置警报或未设置警报来启动其中一项活动。
答案 0 :(得分:4)
定义一个处理此问题的活动。给它一个intent过滤器,使其首先启动
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
在此活动中,执行决定应打开哪个活动的逻辑。
例如,我的应用程序有一个SplashActivity,用于检查用户是否已登录。如果没有,则启动LoginActivity,如果有,则转到内容活动。
<activity
android:name=".SplashActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
和
public class SplashActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (userLoggedIn()) {
startActivity(new Intent(this, ContentActivity.class));
} else {
startActivity(new Intent(this, LoginActivity.class));
}
}
}
答案 1 :(得分:0)
拥有一个共同的基础Activity
,并且在其onCreate
方法中,您可以编写逻辑以从Activity
中进行选择,并从那里开始选择的Activity
。基础Activity
无需加载任何用户界面(即无需拨打setContentView
),只需在启动finish()
后调用Intent
。