我正在尝试在我的 React Native 应用程序的 WebView 中实现Open Banking提供程序。
我遇到的问题是,当提供商(在我的 WebView 内的网页上运行)尝试启动银行应用程序时,用户会被带到银行的网站而不是他们的应用程序。
我认为问题在于指向银行应用程序的Android 应用程序链接被 WebView 作为 URL 处理。如果在浏览器中运行,这一切都可以完美运行。
我相信这类似于深层链接(形式为银行应用程序://)在 WebViews 中不起作用的常见问题,可以通过覆盖 WebView 上的 shouldOverrideUrlLoading 来解决。这个问题说明了问题和使用 shouldOverrideUrlLoading 的解决方案。
因此,我想知道是否有类似的解决方案可用于处理 Android App Links。我似乎找不到太多关于如何在 WebViews 中处理 Android 应用程序链接的信息。
对我来说,在这种情况下如何使用 shouldOverrideUrlLoading 方法并不是很明显,因为我使用的提供程序与不断增长的(即随着时间的推移而更改,恕不另行通知)银行列表集成,所有这些都具有自己的 Android App Link 域。此外,每个用户都将安装不同的银行应用程序组合。实际上,我需要能够处理任意 Android 应用程序链接,因此我不能简单地拦截 URL 并检查它是否满足一些简单的正则表达式条件,因为它们只是普通的 URL。我需要的是某种方法来检查设备上是否有可以处理链接的应用程序,然后使用该链接启动该应用程序。