У меня есть действие для отображения сведений о туре с двумя несовместимыми целями.
Сначала у этого действия есть кнопка бронирования, которая перенаправляет на банковские платежи и возвращает к действию после успешной или неудачной оплаты. Вот почему я установил Launch Mode в манифесте, чтобы остановить повторное создание действия.
android:launchMode="singleTask"
Second , что действие имеет кнопку, которая перенаправляет на аналогичный тур, тогда я должен вызвать finish();
до startActivity()
, чтобы заставить намерение работать!
onNewIntent()
внутри действия, чтобы получить данные первой части
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent.getData() != null) {
Helper.logDebug("fsfsfsgsgsgs", "inside get data not null");
String query = intent.getData().getQuery();
Helper.logDebug("fsfsfsgsgsgs","query is "+ query);
if (query!=null && query.contains("Status=OK")) {
if (frgBtmReserve!=null){
frgBtmReserve.dismiss();
}
String count=query.substring(16);
Helper.logDebug("fsfsfsgsgsgs","count is "+ count);
frgObjectInfo.updateReserveCount(count);
Helper.logDebug("fsfsfsgsgsgs", "inside status ok");
Helper.notifyUserDone(getResources().getString(R.string.success_tour_reserve), this,R.drawable.ic_tick);
} else {
frgBtmReserve.dismiss();
Helper.logDebug("fsfsfsgsgsgs", "inside status nok");
Helper.notifyUserWarning(getResources().getString(R.string.error_tour_reserve), this);
}
}
}
по щелчку второй части , который должен создать новый экземпляр текущей активности, но не из-за режима запуска активности, который singleTask
.intent не работает, пока я finish()
до startActivity()
Intent intent = new Intent(context, ActivityShowObject.class);
intent.putExtra(ActivityShowObject.INTENT_KEY_TYPE, Obj.TYPE_TRAVEL);
intent.putExtra(ActivityShowObject.INTENT_KEY_COLOR, color);
intent.putExtra(ActivityShowObject.INTENT_KEY_OBJ_ID, obj.getAgencyId());
((AppCompatActivity)context).finish();
startActivity(intent);
Animatoo.animateShrink(context);
это моя проблема подумайте о пользователе, который изучает некоторые похожие туры, затем нажмите назад, и приложение вернется к самому первому шагу! ребята, у вас есть предложение для меня?