如何从React Native应用程序打开外部应用程序



在触摸我的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。

相关内容

  • 没有找到相关文章

最新更新