问题描述
我想在启动应用程序中的活动之前检查条件。我想检查用户是否已安装常规的WhatsApp或WhatsApp业务。我检查了两个应用程序包的名称。但是,尽管我已经在手机上安装了WhatsApp,但我还是遇到了例外。
private boolean isPackageInstalled(String packageName,PackageManager packageManager) {
try {
packageManager.getPackageInfo(packageName,0);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
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;
}
}
快乐编码!