#android #android-intent
Вопрос:
Я называю намерение поделиться внутри действия.
public void share() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hey, download this app!");
startActivity(shareIntent);
}
Фактическое Поведение:
Отображается намерение поделиться, но текущая активность уничтожается и перемещается на предыдущий экран.
Ожидаемое Поведение:
Хотите показать намерение поделиться только в верхней части текущей активности.
Обновить:
RCA: Он вызывает жизненный цикл appInPauseState, когда вызывается намерение, и это заставляет двигаться оттуда. Есть ли способ отличить не выполнять, когда вызывается намерение?
Комментарии:
1. опубликованные строки не заставят current
Activity
завершить выполнение, ваша проблема должна быть где-то в другом месте (ошибка во время выполнения или в некоторых других методах, вызываемых сshare()
помощью ). такжеFLAG_ACTIVITY_NEW_TASK
флаг является избыточным2. Да. Он вызывает
appInPauseState
жизненный цикл, когда вызывается намерение, и это заставляет двигаться оттуда. Как я могу отличить не выполнять, когда вызывается намерение?