0

我正在尝试install time使用 OS 2.2 在我的 Android 手机中安装所有应用程序,但我没有得到它们的安装时间,而是得到今天的日期和时间。我知道我可以彻底搞定:

packageManager.getPackageInfo(packageName, 0).firstInstallTime;

但这可用于API level 9以后,我需要firstInstallTime进入API level 8

搜索向我展示了另一种实现它的方法,但它给出了今天的日期,而不是应用程序的安装日期。

PackageManager pm = context.getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0);
String app = appInfo.sourceDir;
long installedTime = new File(app).lastModified();

知道如何获得我想要的结果吗?请更新。任何帮助表示赞赏。

4

1 回答 1

-1

试试这个块。这解决了你的问题

PackageManager pm = getApplicationContext().getPackageManager();
         try {
            PackageInfo info = pm.getPackageInfo("com.google.android.googlequicksearchbox", 0);
             Field field = PackageInfo.class.getField("firstInstallTime");
             long timestamp = field.getLong(info);
             Date date = new Date(timestamp);
             Log.e("DATE", date + "");
        } 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();
        }
于 2013-02-07T13:15:44.200 回答