0

アプリでcoding4funメッセージプロンプトを使用して、カスタマイズされたボタンを含むメッセージボックスをユーザーに表示しています。アプリがフォアグラウンドにあり、表示されるメッセージがある場合は正常に機能します。しかし、アプリを終了して再起動すると、アプリのスプラッシュ画面が表示された後、アプリのメイン画面が表示される前に一連のことが起こります。このプロセス中に、アプリはアップグレードが利用可能かどうかを確認します。アップグレードがある場合は、スプラッシュ スクリーンにメッセージ ボックスをユーザーに表示する必要があります。以前に xna フレームワーク メッセージ ボックスを使用していたとき、これはうまくいきましたが、マーケットプレイスの送信プロセスのために、xna フレームワーク メッセージ ボックスをcoding4fun メッセージ プロンプトに置き換えたところ、スプラッシュ スクリーンが表示されたときにメッセージ プロンプトが表示されませんでした。これは 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」にハードコードしました。すべての回答と提案に感謝します。

ありがとうございました

4

0 に答える 0