Androidアプリバージョン番号取得


機能:バージョン番号の取得
アイデア:バージョン番号の位置はAndroidManifestです.xmlファイルでは、その場所の情報を取得できるクラスを見つける必要があります.
getPackageInfoとPackageManagerの2つのクラスを使用する必要があります.
一、getPackageInfoの紹介と使い方
紹介:PackageInfoクラスは、プロファイル(AndroidManifest.xml)から取得したすべての情報をカプセル化し、パッケージの内容の全体的な情報を記述しています.
Overall information about the contents of a package. This corresponds to all of the information collected from AndroidManifest.xml.
二、PackageManagerの紹介と使い方
紹介:PackageManagerは、現在デバイスにインストールされている関連アプリケーションパッケージの各種情報を取得するクラスです.
Class for retrieving various kinds of information related to the application packages that are currently installed on the device. You can find this class through Context.getPackageManager
使用方法:
1.PackageManagerオブジェクトの取得、ContextオブジェクトはgetPackageManager()メソッドを提供します.
2.getPackageInfoメソッドPackageInfoオブジェクトを取得します.このメソッドでは、パッケージ名packageNameと条件flagsを適用する2つのパラメータを渡す必要があります.
  • packageName :The full name (i.e. com.google.apps.contacts) of the desired package.
  • flags: Additional option flags. Use any combination of GET_ACTIVITIES , GET_GIDS , GET_CONFIGURATIONS , GET_INSTRUMENTATION , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SIGNATURES , GET_UNINSTALLED_PACKAGES to modify the data returned.

  • コード作成プロセス:
  • Contextを使用する.getPackageManager PackageManagerオブジェクト
  • を取得する
  • PackageManagerオブジェクトのgetPackageInfoメソッドを使用してPackageInfoオブジェクト
  • を取得する.
  • PackageInfoの属性versionCodeまたはその他の情報
  • を取得する.
        /**
         *      
         * 
         * @return         
         */
        public int getVersion() {
    	try {
    	    PackageManager manager = this.getPackageManager();
    	    PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
    	    String version = info.versionName;//           welcome    
    	    int versionCode = info.versionCode;//   code       
    	    return versionCode;
    	} catch (Exception e) {
    	    e.printStackTrace();
    	    return 0;
    	}
        }

    参考記事:
    http://www.cnblogs.com/yeahui/archive/2012/10/20/2732429.html