私のアプリケーションは、いくつかのアクティビティで構成されています。
アクティビティ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;
}
}