更新记录

1.4.0(2022-06-03)

  • 修复在 targetSdkVersion>28 中可能使用不了的问题。
  • 增加 一个系统自带的文件管理器选择文件。

1.3.0(2021-03-31)

对android 最低兼性api 调用整,最低是android 4.4。

1.2.0(2020-08-06)

  • 新增选择后 回调文件大小的参数 bytes 和 size。
查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


Android 安卓原生 文件选择器

  • 可以自定义文件类型,选择多个文件。

一、使用方法,引入插件

const plug=uni.requireNativePlugin("Html5app-filePicker");

在Android 10及以上系统,不支持扫描应用外的文件,只支持选择多媒体文件(图片,音频,视频),Android 10及以上选择文件,例如pdf ,txt 等文件时,请选择系统自带的文件管理器选择。

二,打开文件选择器

plug.filePicker(
{
 bgcolor:"#42b983",
 title:"文件选择",
 max:5,
 fileTypes:["doc","pdf","jpg","mp4"]

},ret=>{

    console.log(JSON.stringify(ret));

});
  • 参数说明
参数名 说明
bgcolor 界面背景颜色
title 文字提示
max 最大可以选择多少个文件
fileTypes 文件类型,填写文件的后缀名,来打开选择你需要的文件类型
  • 文件类型 jpg,txt,ppt,pptx,xls,pdf,exe,ipa,wav,xlsx,zip,apk,gif,doc,docx,mp3,mp4,png

  • 选择文件后,回调数据格式, 文件的路径和名称.

{
    "code": 0,
    "fileList": [{
        "path": "/storage/emulated/0/AppClone/Pictures/WeiXin/wx_camera_1588319341486.jpg",
        "name": "wx_camera_1588319341486.jpg"
        "bytes":642974, //文件大小,单位字节
        "size":"627.90KB" //文件大小, 转换后的单位
    }, {
        "path": "/storage/emulated/0/AppClone/Pictures/WeiXin/wx_camera_1588746491838.jpg",
        "name": "wx_camera_1588746491838.jpg"
        "bytes":718356, //文件大小,单位字节
        "size":"701.52KB" //文件大小, 转换后的单位
    }]
}

有些文件名 有空格,或 特殊符号等问题,有可能获取不到文件问题,所以路径是编码过才返回。

所以获取之前,还需要解码才能获取到该文件。

  • 例如:
/storage/emulated/0/tencent/MicroMsg/5255781935834b470f0bdefc46d3ec2c/attachment/1_%E4%BF%9D%E5%8D%95%20%282%29.pdf

使用 decodeURI 来解码。

let url=decodeURI("/storage/emulated/0/tencent/MicroMsg/5255781935834b470f0bdefc46d3ec2c/attachment/1_%E4%BF%9D%E5%8D%95%20%282%29.pdf");

plus.io.resolveLocalFileSystemURL(url, function(entry) 
{
// 可通过entry对象操作test.html文件 

console.log("==文件存在=="+entry.fullPath);

}, function (e) 
{

console.log( "读取文件出错: " + e.message );
} );



打开系统自带的文件选择器

        // */* 代表可以选择全部类型文件, 多种类型用 | 隔分,例如:audio/*|video/mp4
        // multiple 是否可以多选,默认只可以单选

        plug.selectFile({type:"*/*",multiple:false},function(e){

                        console.log(JSON.stringify(e));

        });

文件类型

名称 MIME类型
mp3 audio/*
mp4 video/*
jpg image/*
pdf application/pdf

更多MIME 类型可以网上查找

安卓Android 扫一扫,下载demo 体验

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无, 本插件没有涉及任何信息采集。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问