バージョンコードの取得

アプリのバージョンやバージョン名はAndroidManifest.xmlに書かれています。

例えばこんな感じです。

<?xml version="1.0"encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myapp.MyApp"
    android:versionCode="7"
    android:versionName="1.6">

この例ではバージョンコードが7でバージョン名が1.6になります。

このバージョンをアプリ内で取得して処理を分けたい場合はPackageManagerを使えば簡単に取得できます。

例えばActivityService内で次のようなコードを書きます。

PackageInfo pckInfo;
int versionCode = 1;
String versionName = "";
try {
	pckInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
	versionCode = pckInfo.versionCode;
} catch (NameNotFoundException e) {
	e.printStackTrace();
}
Log.d("MainActivity", "バージョンコード = " + versionCode 
		+ "   バージョン名 = " + versionName);

PackageManagerを使って自アプリのPackageInfoからバージョンを調べています。

ここではPackageInfoをバージョンを調べるためだけに使っていますが、パッケージにどのようなアクティビティやサービスが含まれているかなども取得できるみたいです。

詳しくはPackageInfoのリファレンスを見てください。

では、また!

関連項目
プライバシーポリシー