我的应用程序由几个活动组成。以编程方式定义默认活动(当应用程序启动时)
活动A是我的主菜单,带有一些图标。 此活动可以启动,具体取决于您按哪个图标:活动B,C,D,E或F.
这很好,很容易,活动A是默认的。
现在,我优先选择允许用户开始他们最喜欢的活动。
一些用户实际上更喜欢直接获取活动B。
我找到了解决的唯一途径是做到这一点的活动A这个解决方案是非常难看,因为活动A总是会启动并自动关闭:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settings = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
final Intent intent = getIntent();
String action = intent.getAction();
if (Intent.ACTION_MAIN.equals(action)) {
switch (Integer.valueOf(settings.getString("Activitypref", "1"))) {
case 2:
Intent i = new Intent(ActivityA.this, ActivityB.class);
finish();
startActivity(i);
break;
case 3:
i = new Intent(ActivityA.this, ActivityC.class);
finish();
startActivity(i);
break;
case 4:
i = new Intent(ActivityA.this, ActivityD.class);
finish();
startActivity(i);
break;
case 5:
i = new Intent(ActivityA.this, ActivityE.class);
finish();
startActivity(i);
break;
case 6:
i = new Intent(ActivityA.this, ActivityF.class);
finish();
startActivity(i);
break;
default:
break;
}
}
如果活动A的唯一目的是决定要开展哪些其他活动,那么我不认为这是一个丑陋的解决方案。这听起来像活动A正在完成其工作。 – DeeV
是的,但用户可以选择“绕过”此活动并直接进入活动X.如果设置为偏好,我不希望活动A在用户按下我的主页按钮之后启动,但享受活动X. –
最烦人的是加载时间和屏幕闪烁whan启动活动A并关闭到“onCreate” –