在触摸我的React本机应用程序中的按钮时,是否可以打开外部应用?具体来说,当我触摸按钮时,我想打开WhatsApp。我该怎么做?
谢谢!
您必须使用反应本机链接API:
Linking.openURL('whatsapp://app')
另外,请看一下如何将WhatsApp集成到我的应用中
以前使用了以下以前的使用,
Linking.openURL('whatsapp://app');
但是后来更改了如下的URL,我们还可以添加下面显示的电话和文本查询参数,
Linking.openURL(`whatsapp://send?phone=${whatsappNo}&text=${whatsappMsg}`);
您可以尝试使用应用程序API的参数。例如,在我的情况下,我必须在iOS上打开地图并从A点开始导航。因此,我从此处检查了文档,并使用了导航链接:" http://maps.apple.com/?saddr = cupertino& daddr = san francisco"以创建查询以打开应用程序:
<TouchableOpacity onPress={() => Linking.openURL('maps://app?saddr=Cupertino&San+Francisco')}>
<Text>Navigate</Text>
</TouchableOpacity>
您也可以使用坐标,如lat和long:
maps://app?saddr=Cupertino&S100.123+101.222
我想在我正在为Android开发的React-Native应用程序中的单击"简单"按钮上打开WhatsApp。
我已经对此进行了很多搜索,但没有任何完美的解决方案。尽管我找到了一个第三方库" npm i -s react-native-app-link"。
此库中的描述正是我想做的。但无法弄清楚。如果你们中的任何一个可以帮助它,这对我来说将是一个很好的支持。
React Native不支持'WhatsApp://'scheme。
仅针对此方案:
- mailto;
- tel;
- SMS;
- http/https;
使用 WhatsApp Universal Links 使用 react Arect Native Linking :
https://wa.me/<number>
https://reaectnative.dev/docs/linking.html#open-links-links-and-links-link-links-universal-links
使用此软件包https://github.com/danilrafiqi/react-native-popen-application https://github.com/fiberjw/react-native-native-native-app-link
因此,如果应用程序已经安装,请立即打开,但是如果未安装它,它将直接转到Google Play商店
const onPresss = () => {
OpenApplication.openApplication('com.dev47apps.droidcam')
.then(() => {})
.catch(err => {
AppLink.maybeOpenURL('droidcam://', {
appName: 'DroidCam',
appStoreId: '',
appStoreLocale: '',
playStoreId: 'com.dev47apps.droidcam',
})
.then(() => {})
.catch(err => {});
});
};
您可以使用此软件包https://github.com/khorark/rn-openapp在Android Phone上打开任何其他应用程序。
您需要知道所需应用程序的应用ID。您可以从应用程序的play商店URL获取它(它是在?
解决此错误如下:
export async function openAppSpecific(urlScheme = 'https://wa.me/', storeURL = 'https://play.google.com/store/apps/details?id=com.whatsapp') {
const url = urlScheme;
try {
const supported = await Linking.canOpenURL(url);
if (supported) {
await Linking.openURL(url);
} else {
const storeUrl = storeURL;
await Linking.openURL(storeUrl);
}
} catch (error) {
toast.failedCustom("Erro ao abrir o aplicativo :(");
}
}
总是有必要通过方案URL,好像它是要打开的应用程序的单个链接。例如,我使用了WhatsApp。