2014-08-27 97 views
3

當用戶單擊具有我的域名的鏈接時,我必須打開我的android應用程序。例如,讓我說我的域名是abc.com,我已經在我的Facebook頁面上發佈了這個鏈接。當我的一個朋友(他的設備中安裝了我的應用程序)點擊鏈接(在設備的瀏覽器中)時,我應該能夠在我的應用程序中的webview中打開我的網站。如何在瀏覽器中單擊URL時打開android應用程序

我不知道如何獲得這項工作,但會意圖過濾工作?如果是這樣,有人可以給我一段代碼開始嗎?

+1

可能重複的[攔截鏈接從瀏覽器打開我的Android應用程序](http://stackoverflow.com/questions/1609573/intercepting-links-from-the-browser-to-open-my-android-app ) – AlexGreg 2014-08-27 10:07:28

回答

9

你必須定義:

<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> 

在您的活動您設置過濾器,你可以通過調用這個(中的onCreate)獲得URI在點擊url時應該啓動的活動中的自定義Intent Filter。

假設您想在用戶單擊網頁上的http://www.example.com/鏈接時啓動FirstActivity。

添加到您的活動的清單:

<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 2018-01-04 09:59:51

6

您可以通過使用URI方案(鏈接,例如myscheme:// open/chat)來實現此目的,將此過濾器添加到您的清單中。主要活動區(設置你的方案名稱):

Uri intentUri = getIntent().getData();