在我的应用程序中,我使用与branch.io的深度链接。应用程序生成url并使用自定义方案打开它。它在本地android上运行良好,火狐和opera-mini,但在ERR_UNKNOWN_URL_SCHEME的chrome-android上却失败了。
代码:清单
<activity
android:launchMode="singleTask"
android:name=".ui.activity.ShareActivity"
android:screenOrientation="portrait">
<intent-filter>
<data android:scheme="myapp" android:host="open" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>生成url的代码(doc:https://dev.branch.io/getting-started/creating-links-in-apps/guide/android/):
public static void generateShortUrl(@NonNull Context aContext,
@Nullable String aMediaId,
@Nullable String aCollectionId,
@NonNull CanonicalIdentifier aCanonicalIdentifier,
@NonNull String aDesktopUrl,
@NonNull Branch.BranchLinkCreateListener aListener){
BranchUniversalObject branchUniversalObject = new BranchUniversalObject()
.setCanonicalIdentifier(String.valueOf(aCanonicalIdentifier.ordinal() + 1))
.setContentIndexingMode(BranchUniversalObject.CONTENT_INDEX_MODE.PUBLIC)
.addContentMetadata(SHARE_MEDIA_ID, aMediaId);
if(BuildConfig.DEBUG){
Log.e("BranchConfigTest","share date:"+branchUniversalObject.convertToJson().toString());
}
if(!TextUtils.isEmpty(aCollectionId))
branchUniversalObject.addContentMetadata(SHARE_COLLECTION_ID,aCollectionId);
if(!TextUtils.isEmpty(aMediaId))
branchUniversalObject.addContentMetadata(SHARE_MEDIA_ID,aMediaId);
LinkProperties linkProperties = new LinkProperties()
.setFeature("sharing")
.addControlParameter("$desktop_url", aDesktopUrl);
branchUniversalObject.generateShortUrl(aContext,linkProperties,aListener);
}发布于 2016-03-07 03:43:51
亚力克斯与布兰奇:不幸的是,这是一个已知的问题与Chrome。基本上,在Chrome 40的某些版本中,决定输入和粘贴URL应该防止自动重定向,就像one分支用来打开Play Store或启动应用程序一样。我们去年夏天和铬团队一起研究了一个解决方案,但几周前我们注意到这个问题只针对键入的URL,而不是用户直接粘贴到Chrome地址栏的URL。
好消息是,在野外,这是非常非常罕见的。它通常只由处于分支集成测试阶段的开发人员触发--绝大多数用户只会单击链接(而不是粘贴URL),因此永远不会遇到这种情况。显然,这仍然是一个不太理想的解决方案,所以如果您愿意,可以随意使用用铬归档雷达。我们可以找到它的背后,并要求我们的团队提供的例子以及。
https://stackoverflow.com/questions/35791762
复制相似问题