Глубокая ссылка при нажатии открывает средство выбора намерений в Android

Я реализовал deeplinking в одном для своей деятельности. Но при нажатии на ссылку открывается средство выбора Intent с вопросом, открывать ли из приложения или из браузера. Как открыть из приложения напрямую?

Кроме того, когда приложение не установлено, оно не переходит в плеймаркет. Он открывается в браузере.

Ниже мой код в манифесте:

<activity android:name=".activities.VideoNewsDetailActivity"
        android:theme="@style/AppThemeActivity"
        android:configChanges="orientation|screenSize"
        >
        <!-- Add this new section to your Activity -->
        <intent-filter android:label="@string/videoNewsDetail">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!-- Handle urls starting with "http://www.example.com/products" -->
            <data android:scheme="http"
                android:host="ddnews.apprikart.in"
                android:pathPrefix="/videos" />
            <!-- Handle local urls starting with "example://products" -->
            <data android:scheme="ddnews.apprikart"
                android:host="videos" />

        </intent-filter>
    </activity>

person Sahana Prabhakar    schedule 04.01.2017    source источник
comment
Это также может помочь developers.google.com/digital-asset-links/ v1/начало работы   -  person Tas    schedule 28.02.2017


Ответы (2)


Так работает фильтр намерений. Если более 1 приложения могут обработать ваше намерение, оно отобразит средство выбора намерения. От пользователя зависит, хотят ли они открыть ссылку в вашем приложении или браузере.

Ваш сервер должен обрабатывать часть перенаправления игрового магазина. Например, ваш URL-адрес прямой ссылки: http://www.example.com/page/1. Теперь, когда приложение не установлено, сервер может проверить, вызывается ли URL-адрес из браузера, а затем он должен перенаправить браузер на URL-адрес приложения PlayStore.

person Eric B.    schedule 04.01.2017

@ Эрик Б. прав. Даже если вы хотите, чтобы только ваше приложение могло открыть эту ссылку, вам нужно использовать пользовательскую схему в intent-filter, например:

android:scheme="ddnews"

И нужно создать ссылку типа ddnews://domain.com/dir/page.html.

person Jagruttam Panchal    schedule 04.01.2017
comment
это не будет ссылкой, у вас есть полный пример того, как это работает? - person Ahmad; 30.04.2020
comment
Пожалуйста, найдите его здесь на medium.com: Пользовательская схема URL - person Jagruttam Panchal; 10.05.2020