如何检查设备上是否安装了 WhatsApp?

How to check if WhatsApp is installed on device?

Linking.openURL(`whatsapp://send?phone=${phoneNumber}`);

上面的代码将导航到 WhatsApp 但是我想知道是否可以在尝试 openURL

之前检查 WhatsApp 是否存在

可以使用 PackageManager 检查。只需遍历已安装的软件包并将其名称与 whatsapp 软件包名称进行比较。

PackageManager packageManager = getApplicationContext().getPackageManager();
for (PackageInfo packageInfo : packageManager.getInstalledPackages(0)) {
  if (packageInfo.packageName.equals(“com.whatsapp")) {
    return true;
  }
}

来自React Native documentation

To start the corresponding activity for a link (web URL, email, contact etc.), call

Linking.openURL(url).catch(err => console.error('An error occurred', err));

If you want to check if any installed app can handle a given URL beforehand you can call

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

我假设,如果未安装 WhatsApp,将调用 !supported 块,您可以在那里进行计算。