Gsk*_*Gsk 0 android imdb linkedin
我测试了这个方案的URL(imdb:///,linkedin://)app主页无法在Android设备上启动.但是主页/指定页面应用程序方案URL在iOS中都能正常工作.
(imdb:///title/tt1931435/,linkedin://profile/{id})此指定的应用页面在Android设备中完美启动.
我无法理解为什么这个方案URL不同?
感谢您对如何解决此问题的意见
在iOS中,您可以直接注册您的应用程序以打开方案.当你这样做时,无论你在imdb://之后给出什么,应用程序都会打开.您可以使用imdb://或imdb://来打开它
但在Android中,行为是不同的.您不只是注册该方案,您注册完整的路径或路径前缀,甚至使用正则表达式.当imdb:/// title/tt1931435 /打开IMDB应用程序时,简单的imdb://可能无法直接打开应用程序.
IMDB应用程序背后的开发人员可能希望应用程序只能从电影屏幕打开,而不能从主屏幕打开.
编辑:
评论后,我查找了AndroidManifest.xmlFacebook和IMDB的文件,结果如下
IMDB应用程序中的IntentFilter:
<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>
Run Code Online (Sandbox Code Playgroud)
Facebook应用程序中的IntentFilter:
<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>
Run Code Online (Sandbox Code Playgroud)
在Facebook中,只有"fb",这意味着所有以fb://开头的url都会打开应用程序.但是在IMDB中,他们提供了android:pathPattern,这意味着只有符合该模式的URL才能打开应用程序.