2013-11-29 2 views
0

Я пытаюсь запустить приложение iTunes из приложения AIR для рабочего стола Flex. Но я не могу сделать то же самое, что код делает в ошибке catch try catch loop.Открыть iTunes из AIR Flex

Ниже фрагмент кода я использую для открытия ITunes от AIR:

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, когда я сделал уведомление с сообщением об ошибке.

Любая помощь приветствуется. :)

Thanks, Ankit.

+0

Просьба уточнить ваш вопрос. Что не работает? Вы говорите, что ваш обработчик исключений запускается? На какой строке была ваша NRE? В вашем блоке catch нет ничего, чтобы вызвать NRE, поскольку Alert статичен. – AndySavage

ответ

0

Доступ к чему-либо за пределами песочницы с воздушной защитой является нарушением. Вы не можете запускать приложение ITunes, если оно не находится в изолированном месте, как в ITunes.

Потому что Air не может этого сделать, вам, возможно, придется полагаться на родное расширение, например, C++ или любое другое собственное программирование приложений (я думаю, они уже доступны снаружи где-либо) для вызова приложения itunes. Используйте сокеты Air, чтобы вызывать их в собственном приложении.

Смежные вопросы