*本机* |链接=> canOpenURL(url)与未知URL?

时间:2019-10-02 15:00:10

标签: android ios react-native deep-linking

我有这段代码:

Linking.canOpenURL(url)
                    .then((supported) => {
                        if (!supported) {
                            console.log("Can't handle url: " + url);
                            return false;
                        } else {
                            return Linking.openURL(url);
                        }
                    })
                    .catch((err) => console.error('An error occurred', err));

我阅读了文档:

  

从iOS 9开始,您的应用需要提供LSApplicationQueriesSchemes   在Info.plist或canOpenURL内部的键始终返回false。

因此,有必要在info.plist中指定要管理的必要方案。 问题是我不知道用户想要的URL。在我的代码上调用此Linking.canOpenURL方法的用户操作是因为这里,大多数情况下,当您要求在我的应用上执行此操作。

我只想做:

用户调用该操作并希望打开手机上安装的应用程序。我收到一个计划,我需要检查用户是否确实在手机上安装了该应用程序才能打开它。

他的手机上安装了该应用程序吗? (canOpenURL()),但可能是Google,Twitter,Instagram,银行应用程序的任何方案,这就是为什么我不知道该方案的原因,Info.plist中添加的内容太多了。

如果他的手机上有该应用程序,请为上帝着想打开它!

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

React Native链接不需要知道应用方案。您需要做的就是从您要打开的应用程序中找到深层链接,并将其作为URL传递到Linking组件。如果安装了该应用程序,它将在应用程序中自动打开链接。

例如,要直接在应用程序内打开instagram链接,您需要调用此网址instagram://user?username=nike,如果已安装,该应用程序将自动打开。