У меня есть приложение, которое ведет себя неправильно, если оно запущено из другого приложения (например, через PlayStore). Вместо возобновления к уже существующему Activity
он перезапускается как новый экземпляр.
Что я имею:
- объявлено каждое действие с
launchMode="singleTop"
inmanifest.xml
- Я попытался сделать то же самое с
launchMode=singleTask
, но он ведет себя так же. - использовал дополнительные
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
для каждогоIntent
, который запускает новыйActivity
onNewIntent()
не вызывается в уже запущенном экземпляре
Я использовал следующий код, чтобы запустить свое приложение из другого приложения (с дополнительными addFlag()
и без них)
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("my.package.name");
launchIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(launchIntent);
Моя Launcher-Activity - это SplashScreenActivity
, которая запускает MainActivity
if пользователь вошел в систему со следующим кодом и получает finished()
Intent intent = null;
intent = new Intent(SplashScreenActivity.this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();
Что мне не хватает? Любые рекомендации приветствуются!