Перенаправление Chrome Custom Tabs в приложение Android закроет приложение

Я пытаюсь реализовать поток OAuth2 с помощью пользовательской вкладки Android Chrome, но мое приложение всегда закрыто (без сбоев), когда пользовательская вкладка Chrome получает 302 с расположением / схемой моего приложения.

Если я создаю HTML-страницу со ссылкой ahref и вручную нажимаю на нее, то настраиваемая вкладка Chrome корректно переключается на мое приложение.

Похоже, что при обработке перенаправления сервера 302 в пользовательской вкладке Chrome он не будет корректно обрабатывать мою пользовательскую схему приложения ... но почему?

Если я попробую тот же URL перенаправления в стоковом браузере или с WebView, все тоже работает.

Вот моя текущая настройка:

MainActiviy.java

    Button btnChromeCustomTab = (Button) findViewById(R.id.btnChromeCustomTab);
    btnChromeCustomTab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder().build();
            String packageName = CustomTabsHelper.getPackageNameToUse(MainActivity.this);
            customTabsIntent.intent.setPackage(packageName);
            Uri theLocationUri = Uri.parse(URL);
            customTabsIntent.launchUrl(MainActivity.this, theLocationUri);
        }
    });

AndroidManifest.xml

    <activity android:name=".MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <intent-filter android:label="@string/filter_title">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="myappscheme" android:host="oauth" />
        </intent-filter>
    </activity>

Это URL-адрес перенаправления, полученный приложением с кодом HTTP 302:

myappscheme: // OAuth код = 1234567 & состояние = tokenCheck123

build.gradle

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "de.myapptest.webviewtest"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   testCompile 'junit:junit:4.12'
   compile 'com.android.support:appcompat-v7:23.2.1'
   compile 'com.android.support:design:23.2.1'
   compile 'com.android.support:customtabs:23.0.0+'
}

Спасибо за любую помощь ...

Ответы на вопрос(4)

Ваш ответ на вопрос