Нет прямого способа сделать это, я сделал это так, надеюсь, это поможет вам.
Попробуйте, у меня отлично работает
// clear whole activity stack
Intent intent = new Intent("clearStackActivity");
intent.setType("text/plain");
sendBroadcast(intent);
// start your new activity
Intent intent = new Intent(OrderComplete.this,
MainActivity.class);
startActivity(intent);
Шаг : 1
Поместите эту строку в метод onCreate() всех действий или, если у вас есть какое-либо базовое действие, вы можете поместить его туда, тогда нет необходимости вводить все действия.
private KillReceiver clearActivityStack;
clearActivityStack = new KillReceiver();
registerReceiver(clearActivityStack, IntentFilter.create("clearStackActivity", "text/plain"));
Шаг : 2
Поместите этот класс в свою базовую активность
private final class KillReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
}
Пояснение:
В приведенном выше коде мы создали наш собственный широковещательный приемник. И мы регистрируем его в базовой активности, т.е. во всех активностях, которые вызываются.
Когда мы хотим завершить все действия, мы просто передаем намерение, поэтому все действия, зарегистрированные этим приемником, будут уведомлены и завершены сами.
person
Biraj Zalavadia
schedule
07.05.2014