Я использую настраиваемые вкладки Chrome для получения запроса на подключение oAuth при перенаправлении с настраиваемых вкладок. Я успешно перенаправлен в приложение. Единственная проблема заключается в том, что пользовательские вкладки Chrome не закрываются при перенаправлении и остаются в стеке.
Код для запуска URL-адреса в пользовательских вкладках выглядит следующим образом.
customTabsIntent = new CustomTabsIntent.Builder(mCustomTabsSession)
.setToolbarColor(ContextCompat.getColor(getBaseContext(), R.color.colorPrimary))
.setStartAnimations(getBaseContext(),
R.anim.slide_in_right, R.anim.slide_out_left)
.setExitAnimations(getBaseContext(),
android.R.anim.slide_in_left, android.R.anim.slide_out_right)
.setShowTitle(true)
.build();
customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
customTabsIntent.launchUrl(Settings_Activity.this, Uri.parse(fitbitUrlBuilder.toString()));
Я пытался использовать «singleTask» и «singleInstance» в файле манифеста, но проблема не устранена.
Если я использую только намерение «FLAG_NO_HISTORY», это сработает. Но мне нужно принудительно использовать «FLAG_ACTIVITY_NEW_TASK», так как есть определенный пограничный случай, например, если токен определенного сайта удален, и мы пытаемся повторно аутентифицировать браузер, просто рушится на Android версии 7.1 и нужно вручную запустить приложение снова.
Любая помощь в этом приветствуется.