Откройте мое приложение по URL-адресу из адресной строки браузера, как это делает флипкарт

Я написал простое приложение для Android и добавил такой фильтр намерений:

<intent-filter>
    <data android:scheme="http" android:host="www.somesite.com" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

Теперь, когда я нажимаю ссылку из другого приложения (например, GMail), я вижу диалоговое окно: выберите приложение для запуска: MyApp или Browser.

Но когда я набираю этот URL-адрес в адресной строке браузера, он просто открывает сайт.

Как настроить мое приложение как Google Play, Google+, флипкарт? (Когда я набираю http://play.google.com/, я вижу диалоговое окно Google Play App или Браузер)


person varun bhardwaj    schedule 20.04.2015    source источник
comment
эй @varun ты получил это .. Я на той же странице и ищу хорошее решение. Если вы делали это раньше, пожалуйста, помогите мне сделать то же самое, предоставив фрагмент кода. Спасибо.   -  person Muthu S    schedule 12.11.2019


Ответы (2)


Все о трансляциях и намерениях! Идея состоит в том, что ваше приложение объявляет в манифесте, что оно может получать определенные сообщения.

Из этого ответа:

По сути, вам нужно определить свою собственную схему. Что-то вроде:

<intent-filter>
    <data android:scheme="anton" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" /> <--Not positive if this one is needed
    ...
</intent-filter>

После этого вы сможете запускать свое приложение со ссылками, начинающимися со схемы anton: URI.

person Joaquin Iurchuk    schedule 20.04.2015
comment
@joaquin Мне не нужен собственный URL-адрес, я просто хочу открыть свое приложение из браузера, если пользователь вводит URL-адрес моего веб-сайта. Так же, как если бы вы набрали www.flipkart.com и у вас есть это приложение в вашем телефоне, браузер вашего телефона откроет приложение flipkart. - person varun bhardwaj; 21.04.2015

добавить этот источник в файл манифеста

Добавление следующего исправило проблему:

Таким образом, фильтр намерений выглядит так:

<intent-filter>
            <action android:name="android.intent.action.VIEW"></action>
            <category android:name="android.intent.category.DEFAULT"></category>
            <category android:name="android.intent.category.BROWSABLE"></category>
            <data android:host="example.com"> </data>
            <data android:scheme="https"></data>
            <data android:pathPattern=".*"></data>
</intent-filter>
person Imtiyaz Khalani    schedule 20.04.2015