Launcher + SingleTask активность в Android - PullRequest
7 голосов
/ 15 февраля 2012

У меня проблема с запуском активности в моем проекте.

Моя активность "Дом" (H) позволяет выбрать в нем какую-либо услугу.Допустим, S11 -> ...-> S1n - поток операций для службы (S1).H - это ЗАПУСК для моего приложения.

Кроме того, мне нужно переключиться на другое приложение с H и вернуться к нему.Поскольку я не могу изменить это поведение приложения, я должен объявить свою активность H как «singleTask», чтобы не допустить наличия нескольких ее экземпляров в стеке активности.

Проблема заключается в том, что мое приложение не может быть перезапущено без отключениядействия, которые были перенесены после H. Так, например, если у меня H-S11-S12, затем нажмите HOME и перезапустите из меню недавних приложений, я получаю H в качестве переднего плана деятельности.

Есть идеи?Есть ли способ заставить эту комбинацию работать?Спасибо!

1 Ответ

0 голосов
/ 11 апреля 2016

Вам не нужен singleTask.Используйте startActivityForResult вместо startActivity.Или используйте Fragments вместо Activities

startActivityForResult(new Intent(H.this,S11),1);

public onActivityResult(int requestCode ){
    if(requestCode == 1){
       startActivityForResult(new Intent(H.this,S12),2);
    }else if(requestCode == 2){
       startActivityForResult(new Intent(H.this,S12),3);
    }
    ...
}
...