我想检查是否使用此代码安装了 Android 应用程序:
if (isAppInstalled("com.anydo")) {
textview3.setText("TRUE");
} else {
textview3.setText("FALSE");
}
private boolean isAppInstalled(String uri) {
android.content.pm.PackageManager pm = getPackageManager();
try {
pm.getPackageInfo(uri, android.content.pm.PackageManager.GET_ACTIVITIES);
return true;
} catch (android.content.pm.PackageManager.NameNotFoundException e) {}
return false;
}
它确实有效,但我想再次检查应用程序,我使用相同的 if 代码,但它返回错误。
我正在使用这个 if(isAppInstalled("com.anydo")) {} else {}
如何解决这个问题?
我的示例代码:https://drive.google.com/file/d/1B1ypjgxSLOO7Hvm2tgmPK65obujZR381/view?usp=drivesdk
我的错误代码:https://drive.google.com/file/d/1B4jtcxGPp2O4qIbKGya18EmHegEXd4ZX/view?usp=drivesdk
最佳答案
试试这个代码;
public static boolean isAppInstalled(Context context, String packageName) {
try {
return context.getPackageManager().getApplicationInfo(packageName, 0).enabled;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
关于java - 检查 Android 应用是否已安装,第二次检查时返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55880765/