防止在原始应用程序的浏览器中打开 Deeplink
Prevent Deeplink from being opened within the browser of the originating app
我正在使用 Branch.io 从 Salesforce 应用程序深层链接到我的 Cordova 应用程序。但是,当我单击 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>
我还需要哪些其他意图操作或类别?
您应该只需要此处列出的意图过滤器:
如果它是在 Salesforce 浏览器中打开您的应用程序,则可能是 Salesforce 阻止用户从中进行深度链接。
真正最终解决这个问题的是进入 AndroidManifest.xml
并在我的主 activity 上设置 android:launchMode="singleTask"
。
我知道 in the android docs it says singleTask is not recommended. I believe that's because it prevents you from going back but we take over the functionality of the hardware back button so that's not relevant. Also according to this SO answer,在我们的情况下这似乎是正确的做法。
我正在使用 Branch.io 从 Salesforce 应用程序深层链接到我的 Cordova 应用程序。但是,当我单击 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>
我还需要哪些其他意图操作或类别?
您应该只需要此处列出的意图过滤器:
如果它是在 Salesforce 浏览器中打开您的应用程序,则可能是 Salesforce 阻止用户从中进行深度链接。
真正最终解决这个问题的是进入 AndroidManifest.xml
并在我的主 activity 上设置 android:launchMode="singleTask"
。
我知道 in the android docs it says singleTask is not recommended. I believe that's because it prevents you from going back but we take over the functionality of the hardware back button so that's not relevant. Also according to this SO answer,在我们的情况下这似乎是正确的做法。