我測試了此方案的URL(imdb:///
,linkedin://
)應用程序主頁無法在Android設備中啓動。但主頁/指定頁面應用程序方案URL在iOS中正常工作。URL Scheme(imdb:///,linkedin://)未在Android設備中啓動應用程序
(imdb:///title/tt1931435/
,linkedin://profile/{id}
)這個指定的應用程序頁面在Android設備中完美啓動。
我不明白爲什麼這個不同的計劃網址?
感謝您對如何解決此
我測試了此方案的URL(imdb:///
,linkedin://
)應用程序主頁無法在Android設備中啓動。但主頁/指定頁面應用程序方案URL在iOS中正常工作。URL Scheme(imdb:///,linkedin://)未在Android設備中啓動應用程序
(imdb:///title/tt1931435/
,linkedin://profile/{id}
)這個指定的應用程序頁面在Android設備中完美啓動。
我不明白爲什麼這個不同的計劃網址?
感謝您對如何解決此
在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才能打開該應用。
我有另一個疑問(fb://)直接在android設備上打開應用程序。這怎麼可能? – Gsk
開發人員可以決定是否有東西://會打開應用程序。在Android中,您可以決定打開或不打開。 Facebook讓應用程序以fb://打開,但imdb不打開。 – tasomaniac
我提供了一個示例 – tasomaniac