Вот ближайшее решение, которое вы можете попробовать .. может быть полезно.Вы можете использовать метод класса вашего приложения, где вы можете отслеживать текущую текущую активность.Для открытия последнего действия сохраните и сохраните переменную в SharedPreferences
, если действие приостановлено / или создано (какая бы работа не выполнялась) по методу, приведенному ниже.
private void setupActivityListener() {
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
if (activity instanceof MainActivity) {
Log.e(TAG, "**************** MainActivity Created *******************");
}
//Log.e(TAG, "**************** onActivityCreated *******************");
}
@Override
public void onActivityStarted(Activity activity) {
//Log.e(TAG, "**************** onActivityStarted *******************");
}
@Override
public void onActivityResumed(Activity activity) {
CancelNotification();
activeActivity = activity;
//Log.e(TAG, "**************** onActivityResumed *******************");
}
@Override
public void onActivityPaused(Activity activity) {
activeActivity = null;
//Log.e(TAG, "**************** onActivityPaused *******************");
}
@Override
public void onActivityStopped(Activity activity) {
//Log.e(TAG, "**************** onActivityStopped *******************");
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
if (activity instanceof MainActivity) {
Log.e(TAG, "**************** MainActivity Destroyed *******************");
}
}
});
}
А при открытии приложения проверьте при запуске, что было последнимактивность ... если это не MainActivity, то перенаправить на желаемое действие ...
Для состояния вы можете сохранить его в связке или другом источнике .. как в sharedpreferance.