2014-08-27 2 views
3

Мне нужно открыть приложение для Android, когда пользователь нажимает на ссылку с моим доменным именем. Например, скажем, мой домен - это abc.com, и я опубликовал эту ссылку на своей странице в Facebook. Когда один из моих друзей (у которого установлено мое приложение на своем устройстве) нажимает на ссылку (в браузере устройства), я должен иметь возможность открывать свой веб-сайт в веб-обзоре внутри моего приложения.Как открыть приложение для Android при щелчке по URL-адресу в браузере

Я не уверен, как получить эту работу, но будут ли фильтры намерений работать? Если да, может кто-нибудь дать мне часть кода для начала?

+1

Возможный дубликат [Перехват ссылок из браузера, чтобы открыть приложение для Android] (http://stackoverflow.com/questions/1609573/intercepting-links-from-the-browser-to-open-my-android-app) – AlexGreg

ответ

9

Вы должны определить настраиваемый фильтр настроек в действии, который должен запускаться при щелчке по URL-адресу.

Скажите, что вы хотите запустить FirstActivity, когда пользователь нажимает на ссылку http://www.example.com/ на веб-странице.

Добавьте это к вашей деятельности в манифесте:

<activity android:name=".FirstActivity" 
      android:label="FirstActivity"> 
    <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="www.example.com" android:scheme="http"></data> 
    </intent-filter> 
</activity> 

Когда пользователь щелкнет ссылку HTML для http://www.example.com/, система предложит либо использовать браузер или приложение.

+0

нам нужно указать любое разрешение для этого намерения ????? – Amaresh

6

Вы можете добиться этого, используя схемы URI (ссылка, например, myscheme: // open/chat), добавьте в свой манифест этот фильтр, например. Основной раздел деятельности (установить имя схемы):

<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="YOUR_SCHEME_NAME" /> 
</intent-filter> 

В вашей деятельности, где вы установили фильтр, вы можете получить URI путем вызова этого (в OnCreate):

Uri intentUri = getIntent().getData(); 
Смежные вопросы