startActivityForResult () работает по-разному на Android 9 - PullRequest
1 голос
/ 06 мая 2019

Мое приложение отлично работает на телефонах Android с 4 по 8.1.StartActivityForResult работает правильно и вызывает намерение, которое было ранее объявлено с целевым действием, а затем выполняет код в действии, в котором я сейчас нахожусь.К сожалению, на телефоне с android 9 последовательность выполнения кода приложения меняется.Сначала код выполняется в Activity1, что приводит к исключению NullPointerException, а затем вызывается намерение.Activity2 инициализирует объект, который вызывает исключение нулевого указателя:

Последовательность Android 8.1:

Activity1 -> startActivityForResult -> Activity2 -> Result Activity1 -> Activity1 code -> OK

Последовательность Android 9

Activity1 -> startActivityForResult -> Activity1 code (NullPointerException) -> (if I comment the code in Activity1 -> Activity 2 -> Result Activity1 )

Я пытался изменить файлы Gradle, добавить флагинамерение установить android.enableR8 = false, к сожалению, ничего не помогло.

Intent i = new Intent(Activity1.this, Activity2.class);
i.putExtra("...", doc.id);
i.putExtra("...", method);
i.putExtra(Activity2.PARAMS, activity2SearchParams);
startActivityForResult(i, ActivityRequestCode.NEW);
targetSdkVersion 27

Я бы хотел сохранить порядок выполнения 8.1.Пожалуйста, помогите.

...