Столкнулся с проблемой, что можно запустить несколько копий одной Activity (приложения), если стартовать приложение из разных «мест». Получается так, что ты ее закрываешь, а под ней еще одна такая же. Мне удавалось до 3-4 штук одинаковых запускать.
Ну, грубо говоря, первый раз я приложение запустил как положено. Второй раз запустил его из Wakelock Detector, нажав на нем там «открыть». Запустилась новая копия приложения.
Так вот, как этого избежать? Делать костыли с проверкой, что я уже запущен или есть какой-то нормальный метод?
У Activity стоит флаг android:launchMode=«singleTop», запускается она в приложении вот так:
Intent in = new Intent(this, chatActivity.class);
in.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(in);
И из приложения все ок. Но когда разные копии приложения… беда.