2016-07-19 1 views
0

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

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

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

Моего URLs

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

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

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

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

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

ответ

0

В вашей пусковой деятельности, вы можете получить Ури как этот

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 с некоторыми строками.

+0

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

+0

@BhargavVasani: откровенно говоря, вы не можете. Единственное, что вы можете сделать, чтобы справиться с этим, за счет намерения и завершения вашей деятельности. –