2 * Copyright (C) 2007-2009 OpenIntents.org
\r
4 * Licensed under the Apache License, Version 2.0 (the "License");
\r
5 * you may not use this file except in compliance with the License.
\r
6 * You may obtain a copy of the License at
\r
8 * http://www.apache.org/licenses/LICENSE-2.0
\r
10 * Unless required by applicable law or agreed to in writing, software
\r
11 * distributed under the License is distributed on an "AS IS" BASIS,
\r
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 * See the License for the specific language governing permissions and
\r
14 * limitations under the License.
\r
17 package org.openintents.util;
\r
19 import android.content.Context;
\r
20 import android.content.pm.PackageInfo;
\r
21 import android.content.pm.PackageManager;
\r
22 import android.content.pm.PackageManager.NameNotFoundException;
\r
23 import android.os.Build;
\r
24 import android.util.Log;
\r
28 * @version 2011-01-22
\r
32 public class VersionUtils {
\r
34 private static final String TAG = "VersionUtils";
\r
37 * Get current version code.
\r
41 public static int getVersionCode(Context context) {
\r
44 PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
\r
45 version = pi.versionCode;
\r
46 } catch (PackageManager.NameNotFoundException e) {
\r
47 Log.e(TAG, "Package name not found", e);
\r
53 * Get current version number.
\r
57 public static String getVersionNumber(Context context) {
\r
58 String version = "?";
\r
60 PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
\r
61 version = pi.versionName;
\r
62 } catch (PackageManager.NameNotFoundException e) {
\r
63 Log.e(TAG, "Package name not found", e);
\r
69 * Get application name.
\r
71 * Since API level 4 this routine could be replaced by
\r
72 * appname = getString(getApplicationInfo().labelRes);
\r
76 public static String getApplicationName(Context context) {
\r
79 PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
\r
80 name = context.getString(pi.applicationInfo.labelRes);
\r
81 } catch (PackageManager.NameNotFoundException e) {
\r
82 Log.e(TAG, "Package name not found", e);
\r
88 * Get application icon.
\r
90 * Since API level 4 this routine could be replaced by
\r
91 * icon = getApplicationInfo().icon;
\r
95 public static int getApplicationIcon(Context context) {
\r
98 PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
\r
99 icon = pi.applicationInfo.icon;
\r
100 } catch (PackageManager.NameNotFoundException e) {
\r
101 Log.e(TAG, "Package name not found", e);
\r
107 * Indicates whether a specific package with minimum version code is available.
\r
109 public static boolean isPackageAvailable(final Context context, final String packageName,
\r
110 final int minVersionCode) {
\r
111 boolean result = false;
\r
113 PackageInfo pi = context.getPackageManager().getPackageInfo(
\r
115 if (pi.versionCode >= minVersionCode) {
\r
118 } catch (PackageManager.NameNotFoundException e) {
\r