更新记录

0.1.0(2023-11-30)

  1. 基于原生Android开发的 uni-app 插件,通过原生文件管理器获取文件目录;
  2. 解决下载或复制的文件无法保存到指定目录;
  3. 在下载前指定保存目录;
  4. 获取文件的真实保存路径;
  5. 有部分路径无法获取,提示“为保护您的隐私,请选择其他文件夹”,此为安卓系统保护原因;

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.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原生插件配置”->”云端插件“列表中删除该插件重新选择


dodo-uniplugin-fileSelector

插件测试平台

  1. 测试平板:PET_A133、PET_RK3568;

  2. 测试手机:vivo、小米、摩托罗拉;

  3. 测试系统:Android 12;

  4. 设备不需要root;

  5. Android 设备具有 USB Host 或 OTG 接口;

功能简介

  1. 基于原生Android开发的 uni-app 插件,通过原生文件管理器获取文件目录;
  2. 解决下载或复制的文件无法保存到指定目录;
  3. 在下载前指定保存目录;
  4. 获取文件的真实保存路径;
  5. 有部分路径无法获取,提示“为保护您的隐私,请选择其他文件夹”,此为安卓系统保护原因;

使用方法

引用

    // #ifdef APP-PLUS
        const fileSelector = uni.requireNativePlugin("dodo-uniplugin-fileSelector")
    // #endif

API

  1. 选择文件夹

    fileSelector.selectDirectory();
  2. 选择文件

    fileSelector.selectFile();
  3. 获取选择的文件/文件夹(注:VUE3语法需先import onShow)

import {onShow } from '@dcloudio/uni-app';  

onShow((options) => {
        let resFile = ''
        fileSelector.getPath(
            (res) => {
                if (res?.success) {
                    resFile = res.msg                
                } else {
                    uni.showToast({
                        icon: 'none',
                        title: '获取失败,请重试',
                        duration: 2000
                    });
                }
            })
    })
  1. 备注(调用代码见示例项目)

1.选择内置储存文件时,获取到的目录为“/document/primary:app-update.apk”或“/document/raw:/storage/emulated/0/Download/app-update.apk”等
2.选择内置储存目录时,获取到的目录为“/tree/primary:media”或“/tree/raw:/storage/emulated/0/Download”等
3.选择U盘文件时,获取到的目录为“/document/88F7-88B8:app-update.apk”等
4.选择U盘目录时,获取到的目录为“/tree/88F7-88B8:media”等
5.设备不同时,前缀“/document/primary”、“/tree/primary”、“/document/88F7-88B8”、“/tree/88F7-88B8”可能也不同
6.使用插件“https://ext.dcloud.net.cn/plugin?id=14979”获取真实的储存设备,替换以上的前缀即可获取到真实的路径
7.如:使用插件获取平板内置储存为“/storage/emulated/0”<br>
    7.1 替换后真实文件路径:“/document/primary:app-update.apk” --》“/storage/emulated/0/app-update.apk”
    7.2 替换后真实目录路径:“/tree/primary:media” --》“/storage/emulated/0/media”
8.如:使用插件获取U盘为“/storage/88F7-88B8”
    8.1 替换后真实文件路径:“/document/88F7-88B8:app-update.apk” --》“/storage/88F7-88B8/app-update.apk”
    8.2 替换后真实目录路径:“/tree/88F7-88B8:media” --》“/storage/88F7-88B8/media”

如果觉得可以就点个👍吧,您的关注就是我们的动力!

有使用问题或项目定制需求,联系微信

  • rick6655(请备注添加原因)

隐私、权限声明

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

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

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

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

暂无用户评论。

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