如何重启独立的Adobe Air/Flex应用程序

6

如何让一个独立的Adobe Air/Flex应用程序重新启动自己?

这个建议解决方案:http://www.colettas.org/?p=267对于问题并没有起作用。

任何帮助都将是极好的,

谢谢。

2个回答

7

你好,我已经修复了Flex 4.6的这种方法。

package
{
    import adobe.utils.ProductManager;

    import flash.desktop.NativeApplication;

    import mx.core.FlexGlobals;
    import spark.components.WindowedApplication;

    public function Reboot():void
    {
        var app:WindowedApplication = WindowedApplication(FlexGlobals.topLevelApplication);

        var mgr:ProductManager = new ProductManager("airappinstaller");
        mgr.launch("-launch "+app.nativeApplication.applicationID+" "+app.nativeApplication.publisherID);
        app.close();
    }
}

@rightPath 你可能读了mx和spark组件框架的不同版本 :)感谢改进 :) - SourceSkyBoxer

3
package
{
  import mx.core.Application;
  import mx.core.WindowedApplication;
  import adobe.utils.ProductManager;

  public function reboot():void
  {
    var app:WindowedApplication =
        WindowedApplication(Application.application);

    var mgr:ProductManager =
        new ProductManager("airappinstaller");

    mgr.launch("-launch " +
        app.nativeApplication.applicationID + " " +
        app.nativeApplication.publisherID);

    app.close();
  }
}

同时确保在AIR应用程序描述模板中开启“allowBrowserInvocation”选项

"如何从代码中重新启动AIR应用程序"


2
FYI:在调试模式下这个不起作用。因为你发布的代码和我们已经使用的完全一样。现在我在一个已安装的实例中尝试了一下,它确实可以工作!谢谢。 - Gabriël

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接