我正在使用Branch.io从Salesforce应用程序到我的Cordova应用程序的Deeplink。但是,当我单击Salesforce应用程序中的深层链接时,它只是在Salesforce应用程序内的浏览器中打开我的应用程序,而不是实际将我带到我的应用程序。看起来我应该使用<intent-filter/>
来实现这一点,但它似乎无法将我带出原始的Salesforce应用程序。以下是我<intent-filter/>
目前的情况:
<intent-filter android:name="io.branch.sdk.UriScheme">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
</intent-filter>
<intent-filter android:autoVerify="true" android:name="io.branch.sdk.AppLink">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="myapp.app.link" android:scheme="https" />
</intent-filter>
我需要哪些其他意图行动或类别?
答案 0 :(得分:1)
您应该只需要此处列出的意图过滤器:
如果它在Salesforce浏览器中打开您的应用程序,则可能是Salesforce阻止用户进行深层链接。
答案 1 :(得分:0)
最终确定解决此问题的方法是进入AndroidManifest.xml
,并在我的主要活动上设置android:launchMode="singleTask"
。
我知道in the android docs表示不推荐singleTask。我相信这是因为它阻止您返回,但是我们接管了硬件“后退”按钮的功能,因此不相关。同样根据this SO answer,在我们的上下文中似乎是正确的做法。