「アプリケーションのヴァージョン情報を設定する」の記事ではアプリケーションのバージョンを取得する方法の説明がありました。
PackageInfoクラスからバージョンを取得していました。PackageInfoクラスにはバージョン以外にも情報を取得することは可能ですが、2.3からは新たに以下の情報が取得できるようになりました。
- インストール日時:firstInstallTime
- 更新日時:lastUpdateTime
以下はサンプルコードです。
PackageInfoクラスに追加されたメンバ
上記にもありますようにSDK2.3(API9)からPackageInfoクラスに新たにfirstInstallTime、lastUpdateTimeが追加されました。
共にPublicのフィールドで、long型になります。値はUTC(1970年1月1日午前0時からの経過時間)です。
getPackageManagerメソッドでPackageManagerを取得し、さらにPackageManagerクラスのgetPackageInfoメソッドでPackageInfoクラスを取得します。
そして追加されたフィールドにアクセスしてインストール日時、更新日時を得てDateクラスを生成しています。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textFirstInstallTime = (TextView)findViewById(R.id.TextFirstInstallTime);
TextView textLastUpdateTime = (TextView)findViewById(R.id.TextLastUpdateTime);
PackageInfo packageInfo = null;
try {
packageInfo = getPackageManager().getPackageInfo("org.jpn.techbooster.packageinfosample", PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
// 1970年1月1日午前0時からの経過時間からDateクラスを作成する
Date dateFirstInstallTime = new Date(packageInfo.firstInstallTime);
Date dateLastUpdateTime = new Date(packageInfo.lastUpdateTime);
//作成したDateクラス(=インストール日時、更新日時)を表示する
textFirstInstallTime.setText("FirstInstallTime : "+ dateFirstInstallTime);
textLastUpdateTime.setText("LastUpdateTime : "+ dateLastUpdateTime);
}

