Android:使用共享首选项更新对话框

时间:2011-10-14 00:03:04

标签: android dialog sharedpreferences

我正在尝试设置一个对话框,该对话框将在用户首次更新或安装应用程序后弹出。我无法弄清楚如何做到这一点。目前我已尝试使用包管理器获取用户版本并进行比较以查看它是否是最新版本。我不确定这是否会因为很难测试依赖于软件包更新的东西。这是我的代码:

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();
    }

}

1 个答案:

答案 0 :(得分:1)

我认为你走在正确的轨道上,有很多解决方案herehere可能会给你一些想法。

此外,您可以创建一个包含要提示或不提示的标志的数据库表。默认情况下,它将设置为要提示的值,然后一旦用户启动并确认对话框,您就可以更改标志。然后在SQLiteOpenHelper的onUpgrade()方法中,您可以再次翻转标志,因此您的应用程序将提示安装新版本。