Deeplink как открыть приложение напрямую

240
02 августа 2018, 20:20

Основное, что мне нужно сделать это открыть приложение напрямую без pop-up который предлагает открыть приложение всеми доступными способами.

Согласно документации в манифесте диплинк можно обьявить 2-мя способами

The following XML snippet shows how you might specify an intent filter in your manifest for deep linking. The URIs “example://gizmos” and “http://www.example.com/gizmos” both resolve to this activity.

И в манифесте это вот так:

<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_view_http_gizmos">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
    <data android:scheme="http"
          android:host="www.example.com"
          android:pathPrefix="/gizmos" />
    <!-- note that the leading "/" is required for pathPrefix-->
</intent-filter>
<intent-filter android:label="@string/filter_view_example_gizmos">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <!-- Accepts URIs that begin with "example://gizmos” -->
    <data android:scheme="example"
          android:host="gizmos" />
</intent-filter>
</activity>

Если я правильно понимаю то я не могу просто открыть вот такую ссылку: example://gizmos
это ссылка, которую я могу открыть из внешней аппликации при использовании интента.

А вот эта ссылка: http://www.example.com/gizmos
как раз для того, чтобы ее отправлять по мейлу(допустим) и открывать ее при нажатии.

Верно ли я понимаю? Потому что я уже разными способами попробовал отправить себе ссылку такого вида: example://gizmos, но она никак не распознается.

Или как правильно это сделать?

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

Answer 1

Судя по всему проблема в отсутствии домена в хосте. Т.е. вот так должно работать:

android:host="gizmos.ru"

Проверял на 2 девайсах - ссылка в html в Chrome при нажатии открывает приложение. Вот html для теста:

<html>
    <header><title>Test of deep link</title></header>
    <body>
        <a href="example://gizmos.ru">example://gizmos.ru</a>
    </body>
</html>

На эмуляторах проверить не удалось - они или хрома у меня не содержат или умирают при попытке протестировать такое. Стоящее на одном из эмуляторов приложение HtmlViewer открывал ссылку в себе, не пытаясь проверить есть ли кто для её запуска.

READ ALSO
Spring Security - нет логина

Spring Security - нет логина

Всем приветЕсть проблема со Spring Security

118
Получение вставленного id

Получение вставленного id

День добрыйВопрос такой

156
Наползание блоков друг на друга

Наползание блоков друг на друга

есть проблема в выравнивании элементов, на данный момент, есть такое (лишнее в коде убрал, чтобы была видна только необходимая структура),...

182
Фильтрация списка элементов

Фильтрация списка элементов

Помогите реализовать фильтрацию имеющегося списка

151