2013-10-16 62 views
0

当用户在智能手机上安装他的最新Android版本时,我想获取日期和时间(并不那么重要)。 我在谷歌搜索和在Android参考中看过,但didn'f找到这样的事情。如何获取最新安装的android版本的日期?

我的第一个想法是类android.os.BUILD但没有什么。

android.od.BUILD.Time只是Build编译的日期。

感谢您的帮助!

+0

这不存在。您可以根据创建的某些系统文件的时间戳来获取日期,但这可能不太可靠。解释你需要什么,也许有人可以提出解决你的具体问题的替代方法。 – 323go

回答

0
private void getAppInstallTime(){ 
PackageManager pm = getApplicationContext().getPackageManager(); 
     try { 
      PackageInfo info = pm.getPackageInfo("com.example.sample", 0); 
      Field field = PackageInfo.class.getField("firstInstallTime"); 
      long timestamp = field.getLong(info); 
      Date date = new Date(timestamp); 
      Log.e("DATE", date + "InMillies "+timestamp); 
      ApplicationInfo appInfo = pm.getApplicationInfo("com.example.sample", 0); 
    String appFile = appInfo.sourceDir; 
    long installed = new File(appFile).lastModified(); 
    Date dateMod = new Date(installed); 
    Log.e("Updates","Updated Time"+dateMod+" time in millies"+installed); 
     } catch (NameNotFoundException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (SecurityException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (IllegalArgumentException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (NoSuchFieldException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (IllegalAccessException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
} 
} 
+0

对不起,我不想拥有一个应用程序的日期,但它的最后一次更新时,android操作系统的日期。 – GoKo