Возможно сохранять Activity в предпочтении?

Я создаю App, уже считаю ее законченной, но начинаю думать, как пользователь, перехожу ли с одного я сайта на другой и внезапно у себя срочная необходимость у меня закрывать App или приуменьшать ее, этот инициализируется снова с activity что предопределен в manifest de android, и он теряется в непрерывности: Как он мог бы делать, чтобы хранить эту activity в памяти, и продолжать, где я остался даже, закрыв ее или приуменьшив ее?

Много игр и приложений, которые предлагают прогрессию из-за уровней, этот обычно остается, где пользователь оставил их.

2
задан 07.01.2017, 01:16
0 ответов

НЕТ, что осуществляется, состоит в том, чтобы сохранять данные в предпочтениях это, чтобы производить снова Activity, но не возможно сохранять Activity.

То, что ты можешь реализовывать, состоит в том, чтобы сохранять имя Activity в таких предпочтениях как String и использовать этот, чтобы открывать Activity этой формы:

startActivity(this, Class.forName("<nombre ultima Activity>"));

Чтобы сохранять и получать имя Activity в предпочтениях ты можешь использовать методы:

private String PREFS_KEY = "mispreferencias";

public void saveNombreActivityPref(Context context, String nombreActivity) {
    SharedPreferences settings = context.getSharedPreferences(PREFS_KEY, MODE_PRIVATE);
    SharedPreferences.Editor editor;
    editor = settings.edit();
    editor.putString("nombreActivity", nombreActivity);
    editor.commit();
}



public String getNombreActivityPref(Context context) {
    SharedPreferences preferences = context.getSharedPreferences(PREFS_KEY, MODE_PRIVATE);
    return  preferences.getString("nombreActivity", "");
}

Сторож назвал (ты мог бы осуществлять это в onDestroy () Activity):

protected void onDestroy(){
    super.onDestroy();

    //Guarda nombre de Activity.
    saveNombreActivityPref(getApplicationContext(), nombreActivityActual) {

}

он получает имя и открывается Activity:

  //Obtiene nombre.
  String nombreUltimaActivity = getNombreActivityPref(getApplicationContext());
  //Abre Activity.
  startActivity(this, Class.forName(nombreUltimaActivity));
2
ответ дан 03.12.2019, 17:51

Теги

Похожие вопросы