更新记录

1.0.1(2023-01-04)

对部分android手机的兼容

1.0.0(2023-01-03)

1.获取android公共目录文件列表 2.指定路径获取文件列表 3.指定格式返回文件列表 4.获取android/data 目录列表


平台兼容性

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


引入插件

var readFile = uni.requireNativePlugin("xmy-read-file");

权限申请

访问公共目录需要存储权限,微信、QQ等其他应用需要申请android/data目录的访问权限

公共目录权限申请、检查 如果拥有权限返回 hasPermission: true 没有权限会向用户申请权限

readFile.checkFileManagePermission((res) => {
})

android/data目录权限申请、检查 如果拥有权限返回 hasPermission: true 没有权限会向用户申请权限

readFile.checkDataPermission((res) => {
})

访问公共目录

path: 指定目录查询,如果全查询传 null
args: 获取指定格式的文件列表,可以传 null

readFile.getAllFiles({
    path: path,
    args: [format]
},(res) => {

})

访问QQ目录

path: qq接收文件的目录:/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/QQfile_recv 

readFile.getFileList({
    path: path,
},(res) => {
})

访问微信目录

path: 微信接收文件的目录:/storage/emulated/0/Android/data/com.tencent.mm/MicroMsg/hash/attachment
路径中的 hash 不固定每个用户的名称都不一致,如果访问 hash/attachment 目录下文件需要传 isHash: true 并且 path: /storage/emulated/0/Android/data/com.tencent.mm/MicroMsg 访问微信其他目录 isHash: false path 写具体的路径即可

readFile.getFileList({
    path: path,
    isHash: false
},(res) => {
})

访问其他App目录

path: 可以在 android/data 目录下找到 App 的 path 

readFile.getFileList({
    path: path,
},(res) => {
})

返回数据格式

[
  {
    lastModified: 上次修改日期,时间戳
    size: 文件大小
    name: 文件名称,默认做了 URL 解码
    path: 文件路径
    format: 文件格式
  }
]

隐私、权限声明

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

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

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

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