如何检查Flash是否安装?
问题描述:
我使用此代码段,以检查是否已安装应用程序/活动:如何检查Flash是否安装?
public static boolean isIntentAvailable(Context context, String action) {
final PackageManager packageManager = context.getPackageManager();
final Intent intent = new Intent(action);
List<ResolveInfo> list =
packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
}
public static boolean isScanAvailable(Context context) {
return isIntentAvailable(context, "com.google.zxing.client.android.SCAN");
}
在当安装了条形码扫描应用程序它检查上面的例子中,它工作得很好。 但是,如果我尝试使用com.adobe.flashplayer
检查Adobe Flashplayer,它不起作用并始终返回false。
是否有更好/更可靠的方法来检查Flash?
答
严正耶。我上面发布的代码确实意图检查哪些不适合flashplayer(我猜想没有公共意图)。
更明显的方式是只用getPackageInfo()
它工作得很好:
public static boolean isFlashAvailable(Context context) {
String mVersion;
try {
mVersion = context.getPackageManager().getPackageInfo(
"com.adobe.flashplayer", 0).versionName;
Log.d("Flash", "Installed: " + mVersion);
return true;
} catch (NameNotFoundException e) {
Log.d("Flash", "Not installed");
return false;
}
}
(作为额外的奖励,我们得到确切的版本号太)