2016-01-30 5 views
0

Я хочу, чтобы иметь возможность обрабатывать глубокие связи, как это:Как обрабатывать deeplinking с пользовательской схемой (Android)

appnm://typeA/12 
appnm://typeA/42 
appnm://typeA/99 
.... 

appnm://typeB/43 
appnm://typeB/092 
appnm://typeB/.... 
  1. Должен ли я сделать два вида деятельности - для типа А и типа В Или я могу обрабатывать оба в одном действии? Например, это будет работать:

    данные андроид: схема = "appnm" андроид: хост = "" андроид: PATHPREFIX = "/" />

  2. , когда я набираю в некоторых нотах на телефон «http: // ...» он автоматически дает мне возможность вводить его, как ссылку. Однако в моем случае «appnm: // ...» это не так. Итак, как я могу протестировать deeplink с помощью специальной схемы?

+1

Отметьте это сообщение http://stackoverflow.com/questions/31876003/how-to-test-custom-url-scheme-in-android Отвечает ли это на ваши вопросы? –

+0

да, спасибо, не видели этого поста в моем поиске. Тем не менее, я до сих пор не уверен в моем первом вопросе. Нужно ли мне использовать два вида деятельности или один? (typeA и typeB) – BVtp

ответ

2

Вы можете добавить типы mime, которые укажут, какие данные деактивируются. Если вы хотите, чтобы все deeplinks переходили к одной и той же активности, вы просто объявляете фильтр намерений в этом действии только с помощью схемы uri. Тем не менее, объявление типа mime можно использовать для направления различных видов данных в разные виды деятельности.

Означает ли это ваше сомнение?

+0

Но, насколько я понимаю, типы mime указывают определенный вид данных (изображения, аудио и т. д.). Как я могу использовать его здесь? Мне нужно знать, была ли ссылка «appnm: // typeA/...» или «appnm: // typeB/...», поэтому я бы знал, какой фрагмент будет открыт при запуске приложения. Спасибо. – BVtp

+1

Когда ваша активность активируется при приеме схемы URI, вы можете получить данные триггера: Intent intent = getIntent(); Uri data = intent.getData(); Это может помочь вам дифференцировать триггер и запустить различные действия соответственно –

+0

, которые я знаю, но как бы я обработал свое дело в манифесте? Могу ли я набирать только 'android: schem =" appnm "' без хоста и pathPrefix? Спасибо! – BVtp

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