1

自分のホームページから更新するアプリを作っています。アップデート手順を行い、正常に動作しています。

ここで、自分のページの APK がインストールされているものよりも新しい場合にのみ、更新を続行したいと考えています。新しいとは、インストールされた日付、または APK のサイズが異なるという点で新しいことを意味します。バージョン名を更新するのをいつも忘れています...

では、インストールされた APK のインストール日、またはインストールされた APK のファイルの日付、または APK のサイズを取得するにはどうすればよいですか (/data/app dir には root アクセスが必要であり、ユーザーには望まない必要とする)?

ApplicationInfo と PackageManager については知っていますが、ドキュメントに必要な情報が見つかりませんでした。

ありがとう!L.

4

2 に答える 2

1

答えは自分で見つけてください。興味のある方は以下をご覧ください。

public long appinfo(String pkg){
    PackageManager p = context.getPackageManager();
    long labeldate = 0;
    try {
        PackageInfo label = p.getPackageInfo(pkg, 0);
        labeldate = label.lastUpdateTime;
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }
    return labeldate;
}
于 2012-11-13T16:12:47.320 に答える
0

このSO Answerはあなたが探しているものだと思います。

参考までに、バージョン管理にはおそらくAndroid のプラクティスを使用する必要があります。これは、バージョンを上げることを忘れないようにするための非生産的な回避策のようです。コードを削除すると.apkのサイズが縮小する可能性があり、誰かがはるかに古いバージョンを使用している可能性があるため、.apkのインストール日とサイズは、アプリケーションが新しいか古いかを最終的に判断することは決してありませんが、.探している最短の日付の後にインストールしました。

アプリケーションが新しいかどうかを判断するには、バージョン名ではなくバージョン コードを使用することをお勧めします。バージョン名は任意の文字列にすることができますが、バージョン コードは単純な整数比較であるためです。これは明確な SO の例です。

于 2012-11-13T15:22:36.210 に答える