【问题标题】:Open iTunes from AIR Flex从 AIR Flex 打开 iTunes
【发布时间】:2013-11-29 12:10:15
【问题描述】:

我正在尝试从 Flex 的 AIR 桌面应用程序启动 iTunes 应用程序。但我无法像代码在 try catch 循环的 catch 错误中所做的那样。

下面是我用来从 AIR 中打开 iTunes 的 sn-p:

try
                    {
                        if(currentOS.indexOf("Windows") >= 0)
                        {
                            prepareFilesForSynciOS('Windows');
                            fileItunes = File.applicationDirectory.resolvePath("C:\\Program Files (x86)\\iTunes\\iTunes.exe");
                            //fileItunes1 = File.applicationDirectory.resolvePath("C:\Program Files (x86)\iTunes\iTunes.exe");

                            //Alert.show(" fileItunes " + fileItunes.nativePath);
                            //Alert.show(" fileItunes1 " + fileItunes1.nativePath);

                            if(!fileItunes.exists)
                            {
                                fileItunes = File.applicationDirectory.resolvePath("C:\\Program Files\\iTunes\\iTunes.exe");
                                //fileItunes1 = File.applicationDirectory.resolvePath("C:\Program Files (x86)\iTunes\iTunes.exe");

                                //Alert.show(" fileItunes 64 " + fileItunes.nativePath);
                                //Alert.show(" fileItunes1 64 " + fileItunes1.nativePath);
                            }


                            fileItunes.openWithDefaultApplication();
                        }
                        else if(currentOS.indexOf("Mac") >= 0 )
                        {
                            prepareFilesForSynciOS('Mac');
                            fileItunes = File.applicationDirectory.resolvePath("/Applications/iTunes.app");
                            fileItunes.openWithDefaultApplication();
                        }
                    }
                    catch(e:Error)
                    {
                        //Alert.show("iTunes was not found on this Computer.");
                        navigateToURL( new URLRequest("http://www.apple.com/itunes/download/"));
                    }

当我对错误消息发出警报时,我得到了 TypeError 1009。

感谢任何帮助。 :)

谢谢, Ankit。

【问题讨论】:

  • 请澄清您的问题。什么不工作?你是说你的异常处理程序被触发了吗?你的 NRE 在哪条线上?由于警报是静态的,因此您的 catch 块中没有任何内容可以触发 NRE。

标签: actionscript-3 apache-flex air flex4 itunes


【解决方案1】:

访问 Air 安全沙箱之外的任何内容均属于违规行为。您无法运行 iTunes 应用程序,除非它与 iTunes 一样位于沙盒位置。

因为 Air 无法做到这一点,您可能不得不依赖原生扩展,即 c++ 或任何其他原生应用程序编程(我猜它们已经在某个地方可用)来调用 itunes 应用程序。使用 Air 的套接字在本机应用程序上调用它。

【讨论】:

    猜你喜欢
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    相关资源
    最近更新 更多