2017-02-13 8 views
1

Я пытаюсь открыть новое действие с помощью ветки branch.io в текущем открывшемся приложении. Работает следующий код. Проблема здесь в том, что браузер открыт, и это вызывает новое действие.Открыть ссылку branch.io в том же приложении

Intent actionIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://sample.test-app.link/foo")); 
startActivity(actionIntent); 

Я знаю, что браузер посетить веб-сайт branch.io, получить данные и вызвать другую ссылку, как intent://..... Я ищу способ получить ссылку-цель (intent://) из веб-ссылки (https).

Спасибо!

ответ

1

Решение должно включать App links и добавить отпечаток SHA256 в настройках ссылок.

В вашем приложении вы должны установить новый фильтр намерений для получения запросов http.

<intent-filter android:autoVerify="true"> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="https" android:host="xxxx.test-app.link" /> 
</intent-filter> 

Теперь ваше приложение получает и обрабатывает ссылки, браузер не открывается.

Этапы описаны in the docs.

0

Я думаю, что вы можете достичь его шагам, описанным ниже:

В файле манифеста под пристальным фильтровальной положить активность в:

<data android:host="example.com" android:scheme="http" ></data> 

Теперь ваша активная ссылка должна быть как:

http://example.com/tutor/

В действии вы можете вступать в действующий код, чтобы внести какие-либо условия на основании URL-адреса

Uri data = getIntent().getData(); 
    if(data!=null) { 
     List<String> params = data.getPathSegments(); 
     String first = params.get(0); // "status" 
     String second = params.get(1); 
    } 
+0

Спасибо за помощь! Вы правы, это должно работать, но мне нужно некоторое решение с [branch.io] (https://branch.io/). Я нашел решение сейчас ;-) – Fabi755

+0

Полезно знать ... :) – Khushvinder

1

The Branch SDK не предназначен для упрощения маршрутизации в приложение из собственного веб-представления приложения. Тем не менее, похоже, что у вас что-то работает, и это фантастика.

Об удобном способе захвата строки Intent, созданной из ветки: на устройстве, на котором установлено приложение, вставьте ссылку Branch в адресную строку Chrome и нажмите enter. Строка намерения появится как в адресной строке, так и в ошибке, которая появится на полученной веб-странице.

Извлечение строки намерения в этом режиме работает, потому что Chrome не поддерживает открытие приложений, введя строку намерения в адресную строку, как это.

Смежные вопросы