/**
* 根据apk文件来获取对应的包名
*
* @param context
* @param apkPath
* @return apk文件对应的包名,如果apk文件有问题,则返回null;
*/
public static String getPackageName(Context context, String apkPath) {
PackageManager pm = context.getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
if (info != null) {
return info.applicationInfo.packageName;
} else {
return null;
}
}
/**
* 获取APK当中的版本名
*
* @param context
* @param apkPath
* @return
*/
public static String getApkVersionName(Context context, String apkPath) {
PackageManager pm = context.getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
if (info != null) {
return info.versionName;
} else {
return null;
}
}
/**
* 打开指定包名的应用
*
* @param context
* @param packageName
*/
public static boolean openApp(Context context, View v, String packageName) {
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
if (intent == null) {
return false;
}
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
// context.startActivity(intent);
try {
boolean useLaunchAnimation = (v != null)
&& !intent.hasExtra(INTENT_EXTRA_IGNORE_LAUNCH_ANIMATION);
if (useLaunchAnimation) {
ActivityOptions opts = ActivityOptions.makeScaleUpAnimation(v,
0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
context.startActivity(intent, opts.toBundle());
} else {
context.startActivity(intent);
}
return true;
} catch (SecurityException e) {
DialogManager.getDialog(context, true).show();
}
return true;
}
/**
* 打开指定包名的应用
*
* @param context
* @param packageName
*/
public static boolean openApp(Context context, String packageName) {
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
if (intent == null) {
return false;
}
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
context.startActivity(intent);
return true;
}
/**
* 打开指定包名的应用
*
* @param context
* @param packageName
*/
public static void openActivity(Context context, String packageName, String activityUrl, boolean isShowDialog) {
Intent intent = new Intent();
ComponentName component = new ComponentName(packageName, activityUrl);
Logger.d("包名:" + packageName + "应用地址:" + activityUrl);
intent.setComponent(component);
try {
context.startActivity(intent);
} catch (ActivityNotFoundException e) {
if (isShowDialog)
DialogManager.getDialog(context, true).show();
}
}
/**
* 打开指定包名的应用
*
* @param context
* @param packageName
*/
public static void openActivity(Context context, String packageName, String activityUrl) {
Intent intent = new Intent();
ComponentName component = new ComponentName(packageName, activityUrl);
Logger.d("包名:" + packageName + "应用地址:" + activityUrl);
intent.setComponent(component);
try {
context.startActivity(intent);
} catch (ActivityNotFoundException e) {
DialogManager.getDialog(context, true).show();
}
}
/**
* 打开指定包名的应用
*
* @param context
* @param packageName
*/
public static void openActivity(Context context, View v, String packageName, String activityUrl) {
Intent intent = new Intent();
ComponentName component = new ComponentName(packageName, activityUrl);
Logger.d("包名:" + packageName + "应用地址:" + activityUrl);
intent.setComponent(component);
try {
boolean useLaunchAnimation = (v != null)
&& !intent.hasExtra(INTENT_EXTRA_IGNORE_LAUNCH_ANIMATION);
if (useLaunchAnimation) {
ActivityOptions opts = ActivityOptions.makeScaleUpAnimation(v,
0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
context.startActivity(intent, opts.toBundle());
} else {
context.startActivity(intent);
}
// context.startActivity(intent);
} catch (ActivityNotFoundException e) {
DialogManager.getDialog(context, true).show();
}
}
private static boolean checkCpicApkInstall(Context context){
boolean exist=false;
List<PackageInfo> packages = context.getPackageManager().getInstalledPackages(0);
if(packages!=null&&packages.size()>0){
for(PackageInfo item:packages){
if(item.packageName.equals("com.centerm.skate.bocomshanghai.cpic")){
exist=true;
break;
}
}
}
return exist;
}
Package工具
最新推荐文章于 2024-08-09 23:36:21 发布