2

Androidにインストールされているアプリケーションの以前のバージョンを検出する方法はありますか.

たとえば、私は 1 つの Android アプリケーションを持っています。この Android アプリケーションの以前のバージョンでは、自動的に生成される UUID を使用していました。このアプリケーションの次のバージョンでは、UUID の代わりに ANDROID_ID を使用するように変更されました。ここで、ユーザーがアプリケーションを古いバージョンから新しいバージョンにアップグレードするとします。この場合、以前のバージョンのアプリケーションが電話にインストールされているかどうか、および以前にインストールされたアプリケーションのバージョン名がインストールされているかどうかを検出したいと考えています。

どんな助けでも大歓迎です

4

2 に答える 2

2

以前の開発者はバージョン名を更新しなかったため、アプリケーションの最終更新時刻を使用できます。必要以上に古い場合は、更新してください。

PackageInfo クラスには lastUpdateTime 属性があります。使用方法は次のとおりです。

private Date getLastUpdateTime() {
    PackageInfo pi;
    try {
        pi = getPackageManager().getPackageInfo(getPackageName(), 0);
        Date resultdate = new Date(pi.lastUpdateTime);
        return resultdate;
    } catch (final NameNotFoundException e) {
        return null;
    }
}
于 2012-11-15T09:44:33.663 に答える
0

アプリが更新された場合。古いバージョンが置き換えられました。ただし、共有設定は維持する必要があります (ユーザーがアプリ データを消去しなかった場合)。

共有設定から UUID を読み取ることができるかどうかを確認します はい 新しいバージョン いいえ 古いバージョン。そのため、インストールされているバージョンをおおよそ検出できます。

于 2012-11-15T08:14:17.907 に答える