在Android SDK 31中,原因是增加了更加严格的检查来提高设备的安全性。为了解决此问题,可以以下几种方法:
private boolean isAppInstalled(String packageName) { try { getPackageManager().getApplicationInfo(packageName, 0); return true; } catch (PackageManager.NameNotFoundException e) { return false; } }
if (isAppInstalled("com.example.app")) { // start the activity } else { Toast.makeText(this, "请先安装App", Toast.LENGTH_LONG).show(); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + "com.example.app"))); }
以上是解决“App未安装”问题的几种方法。根据具体情况,选择适合自己的方式即可。