我有这段代码:
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中添加的内容太多了。
如果他的手机上有该应用程序,请为上帝着想打开它!
有什么想法吗?
答案 0 :(得分:0)
React Native链接不需要知道应用方案。您需要做的就是从您要打开的应用程序中找到深层链接,并将其作为URL传递到Linking
组件。如果安装了该应用程序,它将在应用程序中自动打开链接。
例如,要直接在应用程序内打开instagram链接,您需要调用此网址instagram://user?username=nike
,如果已安装,该应用程序将自动打开。