В моето приложение определен резултатен код се използва за завършване на цялото приложение, когато това е необходимо (т.е. за завършване на всички дейности, които принадлежат на моето приложение в стека за дейности). Всички дейности се стартират с startActivityForResult(). Кодът на резултата се улавя в onActivityResult() и оттам се предава на следващата дейност в стека на активността. Това се свежда до това, че всяка дейност завършва сама, когато се използва определен резултатен код.
Работи страхотно.. във всички случаи с изключение на един:
Помислете за стек от дейности, състоящ се от A -> B -> A. Последният A (вдясно в последователността) започва процедурата, като завършва самата себе си и задава кода на резултата за завършване и на другите дейности. След като B приключи и предаде резултатния код на първия A (ляв A в последователността), се оказва, че onActivityResult() не е извикан.
Струва си да се спомене, че onDestroy() все още не е извикан за най-горния A в стека (дясно A в последователността), когато се достигне първият A.
Как да коригирате или заобиколите този проблем?
android:launchMode
за дейност A или B вAndroidManifest.xml
? - person inazaruk   schedule 05.07.2011