我想注册我的Ionic应用程序(通过Cordova)来打开某些文件类型。就像Dropbox一样。当用户在另一个应用程序(如电子邮件)上有文件,并且他点击“打开方式”时,会有一个包含Dropbox应用程序的列表。
是否有支持Android和iOS的Cordova插件并为该功能提供了JS API?提前谢谢。
答案 0 :(得分:6)
您可以在Cordova中实现FileType关联。
它包括两个步骤。
1)将Android Manifest / iOS plist中的文件注册为
清单
<intent-filter
android:icon='@drawable/ic_launcher'
android:label='AndroidMHT File'
android:priority='1'>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="*/*" />
<data android:pathPattern="*.mht" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="*" android:pathPattern=".*\\.mht" />
<data android:scheme="https" android:host="*" android:pathPattern=".*\\.mht" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="message/rfc822" android:scheme="http" />
<data android:mimeType="multipart/related" android:scheme="http" />
<data android:mimeType="message/rfc822" android:scheme="https" />
<data android:mimeType="multipart/related" android:scheme="https" />
</intent-filter>
的plist
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>Document-molecules-320.png</string>
<string>Document-molecules-64.png</string>
</array>
<key>CFBundleTypeName</key>
<string>Molecules Structure File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.sunsetlakesoftware.molecules.pdb</string>
<string>org.gnu.gnu-zip-archive</string>
</array>
</dict>
</array>
2)使用File Opener Plugin for Cordova
您可能需要传递必要的标志才能打开这些文件。
参考:Android,iOS和phonegap community forum thread
希望它有所帮助。
答案 1 :(得分:1)
检查此link。 关于Let'sRefactor,除了fileopener之外它是正确的,在意图中你应该确定当用户用你的app打开文件时要调用的函数(当然是本机)。 这一切都在上面的链接中解释。