2015-10-02 2 views
2

Я хочу быть перенаправлен из браузера моего приложения, поэтому я использую следующий код для моей деятельности в манифесте:Cann't получить Uri данных из Deep Ссылки

<intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="fivos" 
       android:host="book" 
       /> 
     </intent-filter> 

// принимает идентификаторы URI, которые начинаются с «fivos: // book»

В Uri есть некоторые параметры, которые отправляет браузер (например, fivos: // book? username = george). В деятельности, к которому я перенаправлен, я использую следующий код, чтобы получить Uri, но параметры, кажется, не существуют в объекте Uridata, за исключением и схемы применительно хоста

Uri URIdata = getIntent().getData();   
if(URIdata != null){ 
     String scheme = URIdata.getScheme(); 
     String host = URIdata.getHost(); 
     List params = URIdata.getPathSegments(); 
     String username = params.get(0).toString(); 
    } 

я упускаю что-то в моем манифесте?

ответ

4

Я использую следующий код, чтобы получить Uri, но параметры, кажется, не существует в объекте Uridata, за исключением и схемы применительно хосту

Материал после ? в URL или Uri - это параметры запроса, которые вы можете получить из Uri с помощью методов like getQuery().

+0

Я очистил данные браузера и повторил процедуру. Объект Uridata теперь, как браузер, отправил его, содержащий параметр. @CommonsWare благодарит за немедленный ответ! – Fivos

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