我正在尝试在应用程序启动时显示弹出窗口(弹出窗口设计为插页式广告)。
我正在使用“Popup”类,我在显示它之前设置了它的内容/高度/宽度。
该应用程序在Windows Phone 8.1 winRT上运行。
我尝试了几种方法,但每次都是:
但这在发布模式下不适用于真实设备(不显示弹出窗口)。
这就是我尝试过的:
1
InterstitialPopup.IsOpen = true;
2
DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(100);
dt.Tick += (o, o1) =>
{
dt.Stop();
InterstitialPopup.IsOpen = true;
};
dt.Start();
第3:
Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
InterstitialPopup.IsOpen = true;
});
4
Task.Run(() => InterstitialPopup.IsOpen = true);
5
Task t = new Task(() => InterstitialPopup.IsOpen = true );
t.RunSynchronously();
结合这些方法。
通过放置断点,我可以看到代码被调用,但弹出窗口永远不会在发布模式下显示在真实设备上。
通过单击按钮自动弹出窗口,将显示弹出窗口。
我已经尝试将代码放在各种文件中(App.xaml.cs,在我的第一页的ViewModel中,在我的第一页的xaml.cs中,在一个初始化我的应用程序的某些参数的文件中,... ...)。
您是否知道为什么这对模拟器发布和设备调试有效,但对设备发布无效?
答案 0 :(得分:0)
我自己回答。
问题在于弹出窗口的初始化(请注意,我仍然不知道为什么这不起作用)。
我有这样的事情:
MyContent c = new MyContent();
c.Attribute1 = "something";
c.Attribute2 = "something";
Popup p = new Popup();
p.Child = c;
我不得不像这样重写它以使其在发布模式下在真实设备上工作:
Popup p = new Popup();
p.Child = new MyContent()
{
Attribute1 = "something",
Attribute2 = "something"
};
这样,当应用程序启动时会显示弹出窗口,在发布模式下在真实设备上运行。