一、 inFile 实现了系统默认分享文件的接受能力,使用该插件后,调用系统分享功能,使用该插件的app会出现在分享列表中,点击App后会唤起该App,进入App页面可以通过以下代码接受分享文件的信息(比如:分享文件的路径)
apiready = function{
api.addEventListener({
name:'appintent'
},function(ret,err){
api.alert({
msg: JSON.stringify(ret)
})
});
}
二、 可以接受文件的配置(即系统分享什么类型的文件唤起App)
android 配置如下:
android 需要下载自定义插件 inFileExt,解压插件包,修改 inFileExt -> res_inFileExt -> AndroidManifest.xml 文件,根据自己的需求去掉相应的注释即可,也可以按照data标签的格式自己添加相应的 mimeType
<manifest>
<application>
<activity
android:name="com.apicloud.infile.FileHandleActivity"
android:theme="@style/FileHandleTransparent">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<!-- 图片
<data android:mimeType="image/jpeg"/>
<data android:mimeType="image/png"/>
<data android:mimeType="image/gif"/>
...
-->
<!-- 文本
<data android:mimeType="text/plain" />
<data android:mimeType="text/html" />
...
-->
<!-- 音视频
<data android:mimeType="video/mpeg" />
<data android:mimeType="audio/mp4"/>
<data android:mimeType="audio/mp3"/>
<data android:mimeType="video/x-ms-wm"/>
...
-->
<!-- 其他mimeType
<data android:mimeType="application/pdf"/>
<data android:mimeType="application/msword"/>
<data android:mimeType="application/pdf"/>
<data android:mimeType="application/x-xls"/>
<data android:mimeType="application/msword"/>
<data android:mimeType="application/x-ppt"/>
...
-->
</intent-filter>
</activity>
</application>
</manifest>
配置完成后重新打包zip,与 inFile 插件一起打包即可
ios 配置如下:
在 iOS 端若想要自己的 APP 在系统分享列表中显示,需要配置 Info.plist 文件。有关 Info.plist 文件的说明参考论坛。 配置示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>LSItemContentTypes</key>
<array>
<string>public.item</string>
<string>public.content</string>
</array>
</dict>
</array>
</dict>
</plist>
字段解释:
注意:谨慎配置此功能,提交苹果商店时需要加上详细的说明,否则审核会被拒绝。