/** * 根据包名判断手机是否安装app * * @param context * @param pkgName * @return */ public static boolean checkAppInstalled(Context context, String pkgName) { if (pkgName == null || pkgName.isEmpty()) { return false; } final PackageManager packageManager = context.getPackageManager(); List<PackageInfo> info = packageManager.getInstalledPackages(0); if (info == null || info.isEmpty()) return false; for (int i = 0; i < info.size(); i++) { if (pkgName.equals(info.get(i).packageName)) { return true; } } return false; }
/** * 根据应用包名指定app打开Url * * @param context * @param url */ public static void openUrlWithPackageName(Context context, String url, String PackageName) { try { Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); intent.setData(Uri.parse(url)); intent.setPackage(PackageName); context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } }
/** * 浏览器打开url * * @param context * @param url * @return */ public static void openUrlWithBrowser(Context context, String url) { try { Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); intent.setData(Uri.parse(url)); context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } }
/** * 根据app包名唤起app * * @param context * @param pPackageName */ public static void startAppByPackageName(Context context, String pPackageName) { try { Intent intent = context.getPackageManager().getLaunchIntentForPackage(pPackageName); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setAction(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } }