将以下代码封装在PackageUtils类中即可
/**
* 获得版本号信息
*
* @param context
* @return
*/
public static String getVersionName(Context context) {
PackageManager pm = context.getPackageManager();
try {
PackageInfo info = pm.getPackageInfo(context.getPackageName(), 0);
return info.versionName;
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
/**
* 版本的代码
*
* @param context
* @return
*/
public static int getVersionCode(Context context) {
PackageManager pm = context.getPackageManager();
try {
PackageInfo info = pm.getPackageInfo(context.getPackageName(), 0);
return info.versionCode;
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return -1;
}
/**
* 判断某个服务是否正在运行
*
* @param context
* @param servicePackageName
* 注意:这里传入比较的是service的全包名
* @return
*/
public static boolean isTheServiceRunning(Context context, String servicePackageName) {
ActivityManager activityManager = (ActivityManager)
context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceList
= activityManager.getRunningServices(60);
if ((serviceList.size() == 0)) {
return false;
}
for (int i = 0; i < serviceList.size(); i++) {
if (serviceList.get(i).service.getClassName().equals(servicePackageName)) {
return true;
}
}
return false;
}