我有一个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
函数,应用程序退出,但它永远不会重新启动。
但是,如果我从main.mxml中的按钮单击调用p_Reboot
,它就可以工作。问题是我的调度事件是在ScreenSaver.mxml中完成的,它位于不同的应用程序域中?所以它找不到要重启的应用程序?
任何帮助都会受到极大的关注。