0

install timeOS2.2を搭載したAndroidPhoneにインストールされているすべてのアプリケーションを取得しようとしていますが、インストールされた時刻が正確に取得されていません。代わりに、今日の日付と時刻が取得されています。私はそれを徹底的に理解できることを知っています:

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 に答える