inFile

插件概述

一、 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>

字段解释:

  • CFBundleDocumentTypes:指的是当前app可以接收文档的类型,比如图片啊、文档
  • LSItemContentTypes:指的是具体的可以接收的类型,比如txt、jpg、doc。这个key对应的是一个Array,Array中放的是支持类型的字段。具体Array放的字段,可以参考System-Declared Uniform Type Identifiers

注意:谨慎配置此功能,提交苹果商店时需要加上详细的说明,否则审核会被拒绝。

是否仍需要帮助? 请保持联络!
最后更新于 2024/05/20