2017-06-26 1 views

Antwort

1

Sie müssen für die Dateien, die Sie in Ihrem tiapp.xml zu handhaben können, registrieren mögen:

<?xml version="1.0" encoding="UTF-8"?> 
<ti:app xmlns:ti="http://ti.appcelerator.org"> 
    <ios> 
     <plist> 
      <dict> 
       <key>CFBundleDocumentTypes</key> 
       <array> 
        <dict> 
         <key>CFBundleTypeName</key> 
         <string>Add to Housters</string> 
         <key>CFBundleTypeRole</key> 
         <string>Viewer</string> 
         <key>LSHandlerRank</key> 
         <string>Owner</string> 
         <key>LSItemContentTypes</key> 
         <array> 
          <string>com.adobe.pdf</string> 
          <string>com.microsoft.word.doc</string> 
         </array> 
        </dict> 
       </array> 
      </dict> 
     </plist> 
    </ios> 
</ti:app> 

Dann im Code Ihrer Anwendung, jedes Mal, wenn das resume Ereignis ausgelöst wird (zum Beispiel Ti.App.addEventListener('resume', resume);), können Sie unter Ti.App.getArguments().url nachsehen, ob Ihre App über eine andere App geöffnet wurde. In meinen Apps mache ich das, plus scanne ich den Inbox Ordner, um zu sehen, ob es irgendetwas gibt. Wenn eine andere App ein Dokument in Ihrer App öffnet, wird es in dieses Verzeichnis kopiert und anschließend wird Ihre App gestartet. So erhalten Sie Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, 'Inbox').getDirectoryListing() || [] ein Array aller Dokumente, die Sie dann aus diesem Verzeichnis verschieben oder bearbeiten und löschen können.

+0

Vielen Dank, ich habe Ihr Beispiel an meine Anwendung angepasst, die Typen durch jpg, png und gif geändert, und es funktioniert perfekt. –

+0

Gut! Dieser war ein Bär, um herauszufinden, besonders das bisschen darüber, in 'Inbox' nach Dateien zu suchen. (Ich habe zu viel Angst, um nachzusehen, ob das eine empfohlene Übung ist, da es ziemlich gut funktioniert!) –

Verwandte Themen