2014-03-05 46 views
0

我測試了此方案的URL(imdb:///linkedin://)應用程序主頁無法在Android設備中啓動。但主頁/指定頁面應用程序方案URL在iOS中正常工作。URL Scheme(imdb:///,linkedin://)未在Android設備中啓動應用程序

imdb:///title/tt1931435/,linkedin://profile/{id})這個指定的應用程序頁面在Android設備中完美啓動。

我不明白爲什麼這個不同的計劃網址?

感謝您對如何解決此

回答

5

在iOS中,你直接註冊您的應用程序打開方案的投入。當你這樣做時,無論你在imdb://之後給出什麼,應用程序都會打開。你可以用imdb://或者imdb://打開它

但是在Android中,行爲是不同的。你不要簡單地註冊該方案,你註冊完整的路徑或路徑前綴,甚至使用正則表達式。當imdb:/// title/tt1931435 /打開IMDB應用程序時,簡單的imdb://可能無法直接打開應用程序。

IMDB應用程序背後的開發人員可能希望應用程序只能從電影屏幕打開,而不能從主屏幕打開。

編輯: 您的評論後,我擡頭一看Facebook和IMDB和結果的AndroidManifest.xml文件是低於

的IntentFilter在IMDB應用:

 <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="imdb" android:host="" android:pathPattern="/title/tt.*" /> 
     </intent-filter> 

的IntentFilter在Facebook應用程序:

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

在Facebook中,只有「fb」和這意味着所有以fb://開頭的網址都會打開應用程序。但在IMDB中,他們提供了android:pathPattern,這意味着只有符合該模式的URL才能打開該應用。

+0

我有另一個疑問(fb://)直接在android設備上打開應用程序。這怎麼可能? – Gsk

+0

開發人員可以決定是否有東西://會打開應用程序。在Android中,您可以決定打開或不打開。 Facebook讓應用程序以fb://打開,但imdb不打開。 – tasomaniac

+0

我提供了一個示例 – tasomaniac

相關問題