Sie können das sicherlich tun. Sie müssen die Absicht in der Aktivität analysieren und den Fragmentmanager verwenden, um das gewünschte Fragment zu füllen. Ersetzen Sie Aktion und Fragment durch Ihre eigenen.
@Override
protected void onNewIntent(final Intent intent) {
super.onNewIntent(intent);
parseIntent(intent);
}
private void parseIntent(Intent intent) {
final String action = intent.getAction();
if (action != null) {
if (Action.<ONE>.equals(action)) {
FragmentManager fm = getFragmentManager();
Fragment<ONE> fragment = (Fragment<ONE>) Fragment.instantiate(this,
Fragment<ONE>.class.getCanonicalName(),
getIntent().getExtras());
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_id, fragment);
ft.commit();
} else if (Action.<TWO>.equals(action)) {
FragmentManager fm = getFragmentManager();
Fragment<TWO> fragment = (Fragment<TWO>) Fragment.instantiate(this,
Fragment<TWO>.class.getCanonicalName(),
getIntent().getExtras());
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_id, fragment);
ft.commit();
}
}
}
Aktionen sind nur Zeichenfolgen, die für eine bestimmte Absicht eindeutig sein sollten. Sie können alles sein. Wie:
"myapp.image_included" oder "myapp.link_url" etc
Haben Sie ein Beispiel oder einen Link zu einem? Ich habe versucht zu googeln, konnte aber nichts finden. THanks @Cory Roy – huey77
In diesem Fall ist die Aktion beim Aufrufen von 'Aktion. .Equals (Aktion) 'bitte? –