私はこれを持っている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でディスパッチイベントが実行されているという問題はありますか?では、再起動するアプリケーションが見つかりませんか?
どんな助けでも大いに感謝されるでしょう。