アプリケーションのインストール日時、更新日時を取得する
|「アプリケーションのヴァージョン情報を設定する」の記事ではアプリケーションのバージョンを取得する方法の説明がありました。
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クラスを生成しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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); } |
One Comment