检查用户是否安装了whats-app或whats-app业务

问题描述

我想在启动应用程序中的活动之前检查条件。我想检查用户是否已安装常规的WhatsApp或WhatsApp业务。我检查了两个应用程序包的名称。但是,尽管我已经在手机上安装了WhatsApp,但我还是遇到了例外。

这是我用来检查软件包名称代码

 private boolean isPackageInstalled(String packageName,PackageManager packageManager) {
        try {
            packageManager.getPackageInfo(packageName,0);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
    }

然后我在onCreate方法中使用此方法

 private void checkwhatsversion() {

        PackageManager pm = mainactivity.this.getPackageManager();
        boolean isInstalled1 = isPackageInstalled("com.whatsapp",pm);
        boolean isInstalled2 = isPackageInstalled("com.whatsapp.w4b",pm);

        if(isInstalled1) {
            button1.setVisibility(View.VISIBLE);
        }

        if (isInstalled2) {
            button2.setVisibility(View.VISIBLE);
        }



    }

解决方法

如果您尚未尝试执行以下操作-

 private boolean isPackageInstalled(String packageName,PackageManager packageManager) {
        try {
            packageManager.getPackageInfo(packageName,packageManager.GET_ACTIVITIES);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
 }

快乐编码!