0

こんにちは、packageinfo を使用して最初のインストール時間を尋ねると、アプリでこの奇妙なエラーが発生します。ただし、一部のデバイスでのみ、エラーはまれであり、頻繁ではありません。なぜそれが起こっているのですか?回避策はありますか?

        PackageManager manager = this.getPackageManager();
        info = manager.getPackageInfo(this.getPackageName(), 0);
        vPname = info.packageName;
        vName = info.versionName;
        vVers = info.versionCode;
        installDate = info.firstInstallTime;

与える

java.lang.NoSuchFieldError: android.content.pm.PackageInfo.firstInstallTime

minSdkVersion="7"

エラーを返すいくつかのデバイスのリスト:

  • コンボイ(サンダーグ)
  • LG-P920 (p920)
  • デファイ (umts_jordan)
  • インフューズ (SGH-I997)
4

1 に答える 1

2

これは、「firstInstallTime」が API 9 (gingerbread) 以降で導入されたためです。

http://developer.android.com/reference/android/content/pm/PackageInfo.html#firstInstallTime

このようなエラーを回避するには、LINT チェックを実行することをお勧めします (たとえば、実行ボタンの近くにある [V] ボタンを使用します)。LINT には、より良いコードを作成するのに役立つ多くのエラーと警告があります。保存操作ごとに問題をチェックすることもできます。

もちろん、この件に関しても、バグやチェック漏れがあります。

于 2013-10-07T07:45:45.460 に答える