更新记录
1.0.0(2023-02-22)
首次提交
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 13.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择
KJ-ManageExternalStorage
请求所有文件访问权限(MANAGE_EXTERNAL_STORAGE)、不启动分区存储(requestLegacyExternalStorage)
注意
1.andorid 10 以上支持 不启动分区存储(requestLegacyExternalStorage)
2.andorid 11以上 不启动分区存储(requestLegacyExternalStorage)就会失效,用请求所有文件访问权限(MANAGE_EXTERNAL_STORAGE)
3.Google Play上架需要注意:请求所有文件访问权限(MANAGE_EXTERNAL_STORAGE),国内使用没有什么影响,但是在Google Play上需要说明为什么已有的SAF或MediaStore不满足你的应用需求,
审核通过才允许上架使用,谷歌市场只允许文件管理app可以申请这个权限。
使用
<template>
<view>
<button type="primary" @click="isExternalStorageManager()">是否有“所有文件访问”权限</button>
<button type="primary" @click="requestPermission()">请求“所有文件访问”权限</button>
</view>
</template>
<script>
const KJManageExternalStorage = uni.requireNativePlugin('KJ-ManageExternalStorage');
export default {
data() {
return {
}
},
onLoad() {
},
methods: {
isExternalStorageManager() {
KJManageExternalStorage.isExternalStorageManager((res) => {
console.log("isExternalStorageManager: " + JSON.stringify(res));
/**
* 返回json说明:{"result":false}
* result - 是否有这个权限,andorid11以下会返回true,因为这个权限andorid11才有的
* */
})
},
requestPermission() {
/**
* 1.andorid11以下,执行这个方法,不会跳转到权限授权页面,因为这个权限andorid11才有的
* 2.如果之前勾选过再取消,应用会重启
* */
KJManageExternalStorage.requestPermission((res) => {
console.log("requestPermission: " + JSON.stringify(res));
})
}
}
}
</script>