1

同じアプリケーションの 2 つのプロジェクト/パッケージの一部があります。アプリケーションのメイン プロジェクトは、実質的にアプリのすべてを行います。ただし、アプリケーションの更新を管理するために 2 番目のプロジェクトを使用しました。sqlite3 データベースから更新され、メイン アプリケーションに適用される共有設定を使用しています。

    editor.putString("string", sString).apply();

また、次のロジックを使用して、新しいバージョンかどうかを確認し、新しいバージョンの場合は自動更新パッケージを再起動します

    if (!sCurrentVersion.equals(ver)) {
        Intent intent1 = new Intent(Intent.ACTION_MAIN);
        PackageManager manager = getPackageManager();
        intent1 = manager.getLaunchIntentForPackage("com.pack.autoupdate");
        intent1.addCategory(Intent.CATEGORY_LAUNCHER);
        startActivity(intent1);
    }

次に、autoupdate パッケージでは、getSharedPreferences() を使用するだけです。共有設定で必要な値は、自動更新パッケージがチェックする必要がある更新 URL です。

私たちの問題は、データベース内のこれらの URL を更新したことですが、自動更新チェックで古い URL を使用しているデバイスがまだいくつか取得されています。自動更新を確認して再起動する必要がありますか、それとも共有設定で何か問題がありますか?

4

1 に答える 1

2

.commit() メソッドを呼び出して SharedPreference 値を更新しましたか?

アップデート :

.commit() と .apply() の違いに関する詳細はこちら

于 2012-12-11T18:51:16.687 に答える