如何添加计数器以在android中显示alertdialogue

时间:2015-10-05 06:55:48

标签: android

我希望显示一个警报对话框,以便在安装的版本第一次使用时以及应用程序每使用5次后更新应用程序的版本。 以下代码用于更新应用程序的版本。

try
    {
        PackageInfo packageInfo = getPackageManager()
                .getPackageInfo(getPackageName(), 0);
        String appVersion = packageInfo.versionName;
        String latestVersion = getString(R.string.version);
        if (!appVersion.equals(latestVersion))
        {
            Dialog prefDialog = new AlertDialog.Builder(this)
                    .setTitle("New Version Available!")
                    .setMessage("Version " + latestVersion + " is available " +
                            "in the Android Market, please update!")
                    .setCancelable(true)
                    .setPositiveButton("Update", new DialogInterface.OnClickListener()
                    {
                        public void onClick(DialogInterface dialog, int id)
                        {
                            dialog.dismiss();

                            String url = "market://details?id=packagename";
                            Intent i = new Intent(Intent.ACTION_VIEW);
                            i.setData(Uri.parse(url));
                            startActivity(i);
                        }
                    })
                    .setNegativeButton("Later", new DialogInterface.OnClickListener()
                    {
                        public void onClick(DialogInterface dialog, int id)
                        {
                            dialog.dismiss();
                        }
                    }).create();
            prefDialog.show();
        }
    }
    catch (PackageManager.NameNotFoundException ex)
    {
        ex.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

您可以在SharedPreferencesSQLite维护一个计数器变量。显示警报并在每次启动应用程序时递增值。一旦值达到5,您就可以开始显示{{1您可以将AlertDialog的代码放在if循环中,以检查该值是否大于5.

在SharedPreferences中设置计数器变量,如:

AlertDialog

检索您的计数器值,如:

SharedPreferences prefs; 
SharedPreferences.Editor editor;

sharedpreferences = getApplicationContext().getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 

editor = prefs.edit(); 
        editor.putInt("count", count++); 
        editor.commit();