アプリで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」にハードコードしました。すべての回答と提案に感謝します。
ありがとうございました