iRazoR
- Forum-Beiträge: 66
18.04.2013, 07:57:24 via Website
18.04.2013 07:57:24 via Website
Hallo Leute,
ich bin gerade dabei eine App mit mehreren Activities zu entwickeln. Das ist soweit auch kein Problem und funktioniert auch, jedoch fehlt mir noch eine Funktion:
Wie setze ich es um, dass beim nächsten Start der App (also nicht nur nach Pausieren, sondern auchnach Neustart des Gerätes usw.) die zuletzt geöffnete Activity gestartet wird?
Ich habe bereits herausgefunden, das sich das relativ einfach mit den sharedPreferences umsetzen lassen soll, jedoch habe ich damit noch nicht gearbeitet und mir fehlt ein wenig der Durchblick.
Hier ist eine Möglchkeit beschrieben: http://stackoverflow.com/questions/2441203/how-to-make-an-android-app-return-to-the-last-open-activity-when-relaunched
Zitat:
Die grundlegende Funktion ist klar: Der Dispatcher wird bei jedem Start als erste Activity aufgerufen und routet an die entsprechend zu letzt gespeicherte Activity um. Allerdings komme ich mit der Syntax nicht ganz klar. Kann mir bitte jemand auf die Sprünge helfen und es mit menschlichen Worten erklären? Speziell der Try&Catch Teil ist mir nicht ganz klar.
Danke schonmal an alle Antwortenden :-)
ich bin gerade dabei eine App mit mehreren Activities zu entwickeln. Das ist soweit auch kein Problem und funktioniert auch, jedoch fehlt mir noch eine Funktion:
Wie setze ich es um, dass beim nächsten Start der App (also nicht nur nach Pausieren, sondern auchnach Neustart des Gerätes usw.) die zuletzt geöffnete Activity gestartet wird?
Ich habe bereits herausgefunden, das sich das relativ einfach mit den sharedPreferences umsetzen lassen soll, jedoch habe ich damit noch nicht gearbeitet und mir fehlt ein wenig der Durchblick.
Hier ist eine Möglchkeit beschrieben: http://stackoverflow.com/questions/2441203/how-to-make-an-android-app-return-to-the-last-open-activity-when-relaunched
Zitat:
So in every activity you want to re-start automatically:
@Override
protected void onPause() {
super.onPause();
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putString("lastActivity", getClass().getName());
editor.commit();
}
And a Dispatcher activity similar to the following:
public class Dispatcher extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Class<?> activityClass;
try {
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
activityClass = Class.forName(
prefs.getString("lastActivity", Activity1.class.getName()));
} catch(ClassNotFoundException ex) {
activityClass = Activity1.class;
}
startActivity(new Intent(this, activityClass));
}
}
Remarks
You could create a base class for the onPause override
The Dispatcher activity obviously needs to be the android.intent.action.MAIN action
@Override
protected void onPause() {
super.onPause();
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putString("lastActivity", getClass().getName());
editor.commit();
}
And a Dispatcher activity similar to the following:
public class Dispatcher extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Class<?> activityClass;
try {
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
activityClass = Class.forName(
prefs.getString("lastActivity", Activity1.class.getName()));
} catch(ClassNotFoundException ex) {
activityClass = Activity1.class;
}
startActivity(new Intent(this, activityClass));
}
}
Remarks
You could create a base class for the onPause override
The Dispatcher activity obviously needs to be the android.intent.action.MAIN action
Die grundlegende Funktion ist klar: Der Dispatcher wird bei jedem Start als erste Activity aufgerufen und routet an die entsprechend zu letzt gespeicherte Activity um. Allerdings komme ich mit der Syntax nicht ganz klar. Kann mir bitte jemand auf die Sprünge helfen und es mit menschlichen Worten erklären? Speziell der Try&Catch Teil ist mir nicht ganz klar.
Danke schonmal an alle Antwortenden :-)
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.