Eine Methode besteht darin, ein Bündel/Speicher in geteilte Präferenz zu übergeben, durch die diese Information erhalten wird. Gibt es eine andere Methode, um dies zu erreichen? In Fragmenten können Sie einen getBackStackEntryCount ausführen.Wie erkennt man, ob der Aktivitätsstapel leer und die Aktivitätsstapelgröße ist?
0
A
Antwort
0
in Ihrer Anwendungsklasse, registrieren Sie einen Listener für Aktivität Lebenszyklusereignisse:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
// add to stack
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
// remomve from stack
}
});
}
}
Dann brauchen Sie nur in einer Liste den Überblick über Ihre Aktivitäten zu halten (nicht setzen die Tätigkeit selbst, setzen Sie den Namen oder ein schwacher Hinweis darauf). Sie können andere Ereignisse nach Bedarf überwachen.