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

时间:2018-09-21 09:36:38

标签: android ios react-native whatsapp

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

以上代码将导航至WhatsApp,但我想知道是否有可能在尝试openURL

之前检查WhatsApp是否存在

2 个答案:

答案 0 :(得分:6)

来自React Native documentation

  

要启动链接的相应活动(Web URL,电子邮件,联系人等),请致电

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

如果要检查是否已安装的应用程序可以事先处理给定的URL,可以致电

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块,您可以在那里进行计算。

答案 1 :(得分:1)

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

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