ページ

2013/05/05

[Android]バージョンコードとバージョン名を取得する

アプリ起動時にバージョンチェックして更新を強制させるとか
アプリにバージョン名を表示させるとかしたいときに使えるかもしれない。

#getPackageInfoの第二引数のフラグが何を指定すればいいのかわからなくて
他の人のコードを見るもみんな 0 だったり#GET_ACTIVITIESを指定していて
わりとなんでも動く感じなので気持ち悪いなぁと思いつつ 0 を指定した。

/**
 * バージョンコードを取得する
 * 
 * @param context
 * @return
 */
public static int getVersionCode(Context context){
    PackageManager pm = context.getPackageManager();
    int versionCode = 0;
    try{
        PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
        versionCode = packageInfo.versionCode;
    }catch(NameNotFoundException e){
        e.printStackTrace();
    }
    return versionCode;
}

/**
 * バージョン名を取得する
 * 
 * @param context
 * @return
 */
public static String getVersionName(Context context){
    PackageManager pm = context.getPackageManager();
    String versionName = "";
    try{
        PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
        versionName = packageInfo.versionName;
    }catch(NameNotFoundException e){
        e.printStackTrace();
    }
    return versionName;
}