1

最初の起動時にアプリケーション(Android)を別のアクティビティに移動させたいので、人々はすぐに設定を変更します。アプリケーションを更新した後、変更ログを表示したいと考えています。共有設定でこれを実現できることはわかっています。私は次のようなものを作成しました。

package me.wouter.schoolwork;

import android.app.Activity;
import android.app.AlertDialog;

import android.os.Bundle;


public class Updater extends Activity{


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.update);
    checkFirstLaunch();
}

public void checkFirstLaunch(){
    boolean firstrun = getSharedPreferences("PREFERENCE", MODE_PRIVATE).getBoolean("firstrun", true);
    if (firstrun){
        new AlertDialog.Builder(this).setTitle("Welcome").setMessage("Welcome on  ").setNeutralButton("OK", null).show();

    getSharedPreferences("PREFERENCE", MODE_PRIVATE)
        .edit()
        .putBoolean("firstrun", false)
        .commit();
    }
}

}

これが機能するかどうかはわかりませんが、これは更新には機能しません。誰でも私を助けることができますか?

前もって感謝します :)

4

1 に答える 1

3

これを試して:

final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
int currentVersion = 0;
    try {
        currentVersion = getPackageManager().getPackageInfo(getSherlockActivity().getPackageName(), PackageManager.GET_CONFIGURATIONS).versionCode;
    } catch (final NameNotFoundException e) {
    }

    final int lastVersion = prefs.getInt("lastVersion", -1);
    if (currentVersion > lastVersion) {
        showChangelogDialog();
        prefs.edit().putInt("lastVersion", currentVersion).commit();
    }
于 2012-12-30T11:01:49.250 に答える