应用程序位于启动画面时,不显示Coding4Fun MessagePrompt

时间:2012-08-22 04:54:41

标签: windows-phone-7.1 messagebox

我在我的应用程序中使用coding4fun消息提示向用户显示带有自定义按钮的消息框。当应用程序位于前台并且有要显示的消息时,它可以正常工作。但是,当我退出应用程序并重新启动它时,在应用程序的启动画面显示之后以及应用程序的主屏幕显示之前,会发生一系列事情。在此过程中,应用程序会检查是否有可用的升级,如果在升级屏幕上有升级,则必须向用户显示消息框。当我以前使用xna框架消息框时这很好用,但是由于市场提交过程,我用coding4fun消息提示替换了xna框架消息框,并且在显示启动画面时没有显示消息提示。这是Coding4Fun消息提示如何工作还是我做错了什么?

这是我如何在我的代码中实现消息提示..

  public MainPage()
    {
     System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
      {
        DataManager.getInstance().setUIListener(this);
        if (checkUpgradeStatus())
        {
            return;
        }
      });
    }

    private bool checkUpgradeStatus()
    {
        try
        {
            string flag = "1";
            if (!Utils.isNullString(flag))
            {
                DataManager.getInstance().CheckForUpgrade();
                if (flag.Equals(CacheManager.MAJOR_UPGRADE))
                {
                    customizedMessageBox(Utils.APP_UPGRADE_CONFIRM, CustomizedMessageBox.APP_UPGRADE_CONFIRM_TITLE, AppResources.APP_UPGRADE_CONFIRM);
                    DataManager.getInstance().UpdateBadge(true);
                    return true;
                }
                else if (flag.Equals(CacheManager.MINOR_UPGRADE))
                {
                    CacheManager.getInstance().writeDataToConfigFile(CacheManager.APP_UPGRADE_STATUS, "0");
                    customizedMessageBox(Utils.APP_MINOR_UPGRADE_CONFIRM, CustomizedMessageBox.APP_MINOR_UPGRADE_CONFIRM_TITLE, AppResources.APP_UPGRADE_MINOR_CONFIRM);
                    DataManager.getInstance().UpdateBadge(true);
                    return false;
                }
            }
            CacheManager.getInstance().writeDataToConfigFile(CacheManager.APP_UPGRADE_STATUS, "0");
            return false;
        }
        catch (Exception ex)
        {
            Logger.log(TAG, ":checkUpgradeStatus():" + ex.Message);
            return false;
        }
    }

    public void customizedMessageBox(int messageboxtype, string title, string text)
    {
        try
        {
            switch (messageboxtype)
                {
                Case 6:
                 messageBox = new MessagePrompt();
                                Button btnMinorUpgrade = new Button();
                                btnMinorUpgrade.Content = "Upgrade";
                                messageBox.ActionPopUpButtons.Add(btnMinorUpgrade);
                                btnMinorUpgrade.Click += new RoutedEventHandler(btnMinorUpgrade_Click);
                                Button btnMinorUpgradeCancel = new Button();
                                btnMinorUpgradeCancel.Content = "Cancel";
                                messageBox.ActionPopUpButtons.Add(btnMinorUpgradeCancel);
                                btnMinorUpgradeCancel.Click += new RoutedEventHandler(btnMinorUpgradeCancel_Click);
                                messageBox.Show();
                break;
                }
        }
        catch (Exception ex)
        {
          Logger.log(TAG, ":customizedMessageBox():" + ex.Message);
        }

    }

注*: - 出于测试目的,我将标记的硬编码值设置为“1”。 所有答案和建议都表示赞赏。

谢谢

0 个答案:

没有答案