开发者

Android: Update Dialog with share preferences

开发者 https://www.devze.com 2023-04-13 02:10 出处:网络
I\'m trying to set up a dialog that will popup after the users updates or installs the application for the first time. I can\'t figure out how to exactly do this. Currently I have tried to use the pac

I'm trying to set up a dialog that will popup after the users updates or installs the application for the first time. I can't figure out how to exactly do this. Currently I have tried to use the package manager to get the users version and c开发者_JS百科ompare it to see if its the most recent. I'm uncertain if this will work as its hard to test for something that relies on a package update. Here is my code:

public void firstrun() {
    String version = "";
    String currenver = "3.9";
    // update function
    try {
        PackageInfo manager = getPackageManager().getPackageInfo(
                getPackageName(), 0);
        version = manager.versionName;
    } catch (NameNotFoundException e) {
        // Handle exception
    }
    getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
            .putString(version, version).commit();

    boolean firstrun = getSharedPreferences("PREFERENCE", MODE_PRIVATE)
            .getBoolean("firstrun", true);

    if (version.matches(currenver)) {
        // Save the state
        getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
                .putBoolean("firstrun", false).commit();
    } else {
        // Save the state
        getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
                .putBoolean("firstrun", true).commit();

    }

    if (firstrun == true) {
        new AlertDialog.Builder(this)
                .setTitle("Welcome!")
                .setIcon(R.drawable.icondialog)
                .setMessage("UpdateText")
                .setNeutralButton("OK", null).show();
    }

}


I think you are on the right track, there are many solutions here and here that may give you ideas.

In addition you could create a database table that contains a flag to prompt or not. By default it would be set to a value to prompt, and then once the user launches and acknowledges the dialog you could change the flag. Then in your onUpgrade() method of your SQLiteOpenHelper you could flip the flag again, and thus your application would prompt on installation of a new version.

0

精彩评论

暂无评论...
验证码 换一张
取 消