2015-11-18 158 views
0

這個問題已經以類似的方式被提出了像百次,但我仍然無法找到正確的答案讓我的應用程序以我想要的方式工作。也許這是不可能的,當然這是一個有效的答案。使用自定義URL方案打開Android應用程序

我有一個活動定義爲我的應用程序如下:

<activity 
     android:name="MyActivity" 
     android:label="MyActivityLabel" 
     android:launchMode="singleTask" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <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="MyActivityCustomUrlScheme" /> 
     </intent-filter> 
    </activity> 

當我開始我的應用程序在模擬器中,然後打開瀏覽器,輸入網址如下所示:

MyActivityCustomUrlScheme://mycustomHost.com?someOptions 

唯一發生的事情是,鉻嘗試谷歌搜索它,這不是我想要的。如果我發送自己的短信與這個計劃,裏面的計劃不被識別爲這樣,不可點擊:(

我想這樣做,因爲我已經有商店中的iOS應用程序,它使用方案MyActivityCustomUrlScheme: //mycustomHost.com?someOptions,如果有人可以幫我解決這個問題,我會非常感激,因爲用戶可以通過電子郵件或短信的方式將它改變,

+1

Web瀏覽器的應用程序,由程序員編寫的,這些程序員可以爲所欲爲。如果T嘿選擇 - 鏈接或地址欄 - 不遵守定製計劃,這是他們的選擇。根據我的經驗,Chrome和Firefox都不能很好地處理定製方案。即使舊的AOSP瀏覽器應用程序在地址欄IIRC中也不支持自定義方案,因爲沒有用戶需要手動輸入其中的一個。 – CommonsWare

+0

感謝您的快速回復@CommonsWare。自定義網址在郵件中沒有正確顯示,那麼它實際上是可點擊的呢? – 3vangelos

+0

SMS客戶端不需要將隨機系列的字符解釋爲某種URL。沒有電子郵件應用程序的要求,收到一個純文本電子郵件,解釋隨機系列的字符,不知何故是一個URL。這就是爲什麼在Android上,一般建議是使用'http'並將您的應用綁定到您的域名,因爲更多的應用會將這些字符串識別爲真正的URL並且會使它們可點擊。儘管Chrome和Firefox最後測試過,但仍然在瀏覽器內部處理這些URL。 – CommonsWare

回答

0

嘗試使用的host定義:。

<activity android:name="MyActivity" 
      android:label="MyActivityLabel" 
      android:launchMode="singleTask"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      <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="MyActivityCustomUrlScheme" android:host="mycustomHost.com" /> 
      </intent-filter> 
    </activity> 
+0

也不工作。我想如果該方案不被視爲一個計劃,而主機也被忽略。 – 3vangelos

相關問題