を 2 に設定しversionCode
ても、アプリはそれを 1 と報告します。versionCode
を 3 に設定すると、アプリはそれを検出します。alo 5、6 が設定されていない:
defaultConfig {
versionCode 2
番号2で動作していません。プロジェクトをクリーンアップして再構築しましたが、結果は同じです。
私は何が欠けていますか?
この Firebase コードを使用して新しいアプリ バージョンがリリースされたことを検出したい: Android Studio のデバッグでこれを実行することに注意してください。
ValueEventListener systemListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
App app = dataSnapshot.getValue(App.class);
if (app.getVersionCode() > BuildConfig.VERSION_CODE) {
SettingsManager.setForceAppUpdate(true);
for (OnForceAppUpdateListener l : Application.getInstance()
.getUIListeners(OnForceAppUpdateListener.class))
l.onForceAppUpdate();
} else { // TODO for testing
SettingsManager.setForceAppUpdate(false);
for (OnForceAppUpdateListener l : Application.getInstance()
.getUIListeners(OnForceAppUpdateListener.class))
l.onForceAppUpdate();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
そして、versionCode 1 から versionCode 2 に移行したとき、上記BuildConfig.VERSION_CODE
が 1 であることに気付きました
私もこれを試します:
Application.getInstance().getPackageManager()
.getPackageInfo(Application.getInstance()
.getPackageName(), 0).versionCode;
versionCode にも 1 を返す