Android - Deeplinking - обрабатывайте два одинаковых URL-адреса с другой строкой запроса

62
7

У меня есть одна проблема, связанная с глубокой связью. У меня есть два URL-адреса, начинающиеся с чего-то типа " https://www.myweb.com/Logon " с различными параметрами строки запроса. Теперь то, что происходит, - это то, что оба URL-адреса открывают приложение, и я хочу, чтобы только один URL-адрес открыл мое приложение, а затем ограничил его.

Вот мой манифестный код.

<data android:host="www.myweb.com" android:pathPrefix="/Logon" android:scheme="https"/>

Мои ссылки

1. https://www.myweb.com/Logon?Action=View&Id=13456789&Sid=123456789 2. https://www.myweb.com/Logon?resume=/abc/AqAbA/resumeAqAbA

Когда я открываю оба URL-адреса в мобильном браузере, оба URL-адреса показывают всплывающее окно, чтобы продолжить этот URL-адрес в приложении или в браузере. Я хочу, чтобы только 1-й URL отображал всплывающее окно.

Примечание. Второй URL-адрес не должен открываться в приложении. Он должен продолжаться с самим браузером.

может ли свойство pathPattern помочь в этом случае?

Любые предложения/помощь будут высоко оценены.

спросил(а) 2021-01-19T12:40:36+03:00 2 месяца, 3 недели назад
1
Решение
98

В вашей программе запуска вы можете получить uri, как это

    Intent  intent = getIntent();
Uri uri;
if (intent != null) {
uri = intent.getData();
}
String url = uri.toString();
if (url.contains("Action")) {
// do something
}else if(url.contains("resume")){
// do something else
}

вы также можете найти требуемый параметр из URL с некоторыми манипуляциями с строкой.

ответил(а) 2021-01-19T12:40:36+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема