Android: убить активность

Попробуйте следующее:

getSku: function () {
  return $.getJSON(Routing.generate(this.options.urls.get))
    .promise();
}

Когда вы вызываете getSku (), он возвращает объект обещания. Вам нужно дождаться обещания разрешить или не обработать результат следующим образом.

getSku().done((data) => {
   console.log(data);
}).fail(() => {
    console.log( "something went wrong" );
});

Чтобы узнать больше о обещаниях: https://developer.mozilla.org/en-US / документы / Web / JavaScript / Справка / Global_Objects / Promise

0
задан Rohit Singh 20 January 2019 в 06:38
поделиться

4 ответа

В NewUserActivity переопределите метод OnBackPressed (), затем вызовите финиш; убить текущую активность; См. Пример реализации ниже:

@Override public void onBackPressed () {

                    killActivity();

            })
            .setNegativeButton("No", null)
            .show();
}

private void killActivity() {
    finish();
}
0
ответ дан simon wambua 20 January 2019 в 06:38
поделиться

С более новой версией Android> = API 16 использовать finishAffinity ()

finishAffinity (); сделал свое дело.

Поскольку я читаю везде, предлагается использовать just finish (); Для более нового API (я использую> = 17) пришлось использовать finishAffinity ();

0
ответ дан Healthydev Developments 20 January 2019 в 06:38
поделиться

Вы можете использовать этот код:

Intent intent=new Intent(NewUserActivity.this, GameChooseActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(intent);
    NewUserActivity.this.finish();
0
ответ дан Seyed Masood Khademi 20 January 2019 в 06:38
поделиться

Однократная настройка?

Исходя из моего понимания, вам нужна однократная настройка. Ваш код в порядке, единственная проблема, которую я вижу, состоит в том, что когда вы снова открываете приложение, оно начинается с самого начала. Это связано с тем, что в вашем коде нет логики, чтобы проверить, выполнили ли вы одноразовую настройку. Для этого вы можете использовать SharedPreference.
Вы можете создать Splash Activity и проверить, выполнена ли разовая настройка или нет на основе логического флага.

Итак, в первый раз пользователь открывает приложение
SplashActivity -> NewUserActivity ---> GameChooseActivity
в противном случае
[ 1110] SplashActivity -> GameChooseActivity

SplashActivity extends AppcompatActivity{

   boolean hasDoneSetUp = false;
   private SharedPreferences pref;
   private Editor editor;

   protected void onCreate(Bundle sis)
   {
      super.onCreate(sis);
      setContentView(R.layout.splash);

      pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
      editor = pref.edit();

      hasDoneSetUp = checkForSetUp();

      if(!hasDoneSetUp)
         startOneTimeSetUp();
      else
         startGameChooseActivity();

    }
}

Как выполнить одноразовую настройку?

Установите hasDoneSetUp значение true, когда будет выполнена одноразовая настройка, и сохраните это значение. в SharedPreference, чтобы при повторном открытии приложения проверялось, была ли выполнена однократная настройка или нет.

Сохраните ваши другие данные в SharedPreference или SQLiteDatabase и получите эти данные в GameChooseActivity.

public void startOneTimeSetUp(){

    if(!TextUtils.isEmpty(editUsername.getText().toString().trim())) {
                uploadUserData();
                Intent intent = new Intent(SplashActivity.this, GameChooseActivity.class);

                SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
                Editor editor = pref.edit();
                editor.putBoolean("hasDoneSetup", true);           
                editor.commit(); 

                finish();
            }
}


public boolean checkForSetUp(){

     return pref.getBoolean("hasDoneSetup", true);
}

public void startGameChooseActivity(){
     Intent intent = new Intent(SplashActivity.this, GameChooseActivity.class);
     startActivity(intent);
}

Соответствующие ссылки

Если вы не знаете Что такое SharedPreference?
Если вы не знаете, как использовать SharedPreference [ 116] отметьте это

0
ответ дан Rohit Singh 20 January 2019 в 06:38
поделиться
Другие вопросы по тегам:

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