我有一个 Main.mxml 有这个:
<components:ScreenSaver id="ScreenSaver" />
这个组件是另一个 .mxml
基本上,当这个屏幕保护程序对象可见并播放视频时,我想允许它一段时间,然后,我希望整个应用程序下降并重新启动。所以,我在 Main.mxml 中放置了一个事件监听器:
addEventListener(AppConstants.REBOOT, p_Reboot);
p_Reboot 是:
public function p_Reboot( e:Event = null):void
{
var mgr:ProductManager = new ProductManager("airappinstaller"); mgr.launch("-launch "+ topApplication.nativeApplication.applicationID + " " + topApplication.nativeApplication.publisherID);
topApplication.nativeApplication.exit();
}
Then, in ScreenSaver at the critical moment, I do this:
dispatchEvent(new Event(AppConstants.REBOOT, true));
一切似乎都运行良好,监听器正常工作,它到达p_Reboot
函数,应用程序退出,但它永远不会重新启动。
但是,如果我p_Reboot
从 main.mxml 中的按钮单击调用,它可以工作。我的调度事件是在 ScreenSaver.mxml 中完成的问题吗,它位于不同的应用程序域中?所以它找不到要重新启动的应用程序?
任何帮助将不胜感激。