在ondestroy上(或在onresume中,具体取决于清单配置),将每个活动的名称存储到共享首选项中。因此,当用户在那里超时最后一个活动时,是用户在被踢出之前要交互的最后一个活动。当用户通过从共享首选项还原其名称重新登录时,将使用此选项。
保存最后一个活动的名称:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("ActivityName", yourActivityName);
editor.apply();
还原主目录中的最后一个活动:
String activityToResume = sharedPreferences.getString("ActivityName", "DefaultActivity");
try {
Class<?> c = Class.forName(activityToResume);
Intent intent = new Intent(this, c);
startActivity(intent);
} catch (ClassNotFoundException ignored) {
}