Закройте все действия с первого действия в приложении для Android - PullRequest
0 голосов
/ 10 мая 2011

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

Есть ли способ сделать это?

Ответы [ 6 ]

3 голосов
/ 04 мая 2012

Пожалуйста, попробуйте следующий метод.

    this.finish();
    this.moveTaskToBack(true);
3 голосов
/ 10 мая 2011

Вы можете вызвать мероприятие A с намерением с установленным флагом FLAG_ACTIVITY_CLEAR_TOP . Это выводит действие A поверх стека действий и завершает действия, открытые из A.

Если действие A не является корневым действием в задаче приложения, вы можете попробовать FLAG_ACTIVITY_CLEAR_TASK flag.

2 голосов
/ 04 мая 2012

Попробуйте это

    Intent intent = new Intent(getApplicationContext(),FirstActivityClass.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);              
    startActivity(intent);
0 голосов
/ 06 декабря 2012

Если у вас есть действия MainActivity> B> C> D> E и MainActivity - это средство запуска, и U вызывает все по порядку, не вызывая финиша для любого, например:

Intent jump = new Intent(MainActivity.this, B.class);
//finish();
startActivity(jump);

шагов :

1) Определить статический вектор act = новый вектор ();в основном действии (действие MainActivity) и добавьте act.add (this);

2) Определите конструктор по умолчанию во всех действиях и добавьте ссылки, например:

public B()
{
MainActivity.allActivities.add(B.this);
}

3) Вызовите приведенный выше кодпри каждом нажатии кнопки выхода:

for (Activity a : MainActivity.allActivities) a.finish(); 
MainActivity.allActivities.clear();

Надеюсь, это поможет ... !!!

0 голосов
/ 10 мая 2011

Вы можете определить статический вектор действий allActivities в своей основной деятельности. В конструкторе каждого действия вы добавляете ссылку на него в статический вектор. В деструкторе вы удалите его.

Всякий раз, когда вам нужно закрыть все из них:

for (Activity a : MainActivity.allActivities) a.finish(); 
MainActivity.allActivities.clear();
0 голосов
/ 10 мая 2011

AFAIK, Нет способов закрыть все действия в приложении, но вы можете просто переместить задачу, содержащую эти действия, в фоновый режим (см. moveTaskToBack ).

Или вы можете попробовать отправить трансляцию и в onReceive - завершить действие, получившее трансляцию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...