uniapp原生插件

前言

使用uniapp开发Android app时,一些特定的需求没办法实现的时候就只能开发原生插件或者uts插件去满足需求,我的需求目前uts插件没法实现,只能靠原生插件了😆

需求:拍照不保存图片到相册,uniapp的API或者h5+都没法达到目的

实践

导入离线SDK
Android 离线SDK - 正式版 | uni小程序SDK

开发插件

CameraModule

    @UniJSMethod(uiThread = true)public void takePicture(JSONObject options, UniJSCallback callback) {if (mUniSDKInstance.getContext() instanceof Activity) {Activity activity = (Activity) mUniSDKInstance.getContext();mJSCallback = callback;if (ContextCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.CAMERA}, REQUEST_PERMISSION_CAMERA);return;}Intent intent = new Intent(activity, SimpleCameraActivity.class);activity.startActivityForResult(intent, REQUEST_SIMPLE_CAMERA);} else {if (callback != null) {JSONObject result = new JSONObject();result.put("code", -1);result.put("message", "Failed to get activity context");callback.invoke(result);}}}

 SimpleCameraActivity

    private void startCamera(SurfaceHolder holder) {try {mCamera = Camera.open(mCameraId);mCamera.setPreviewDisplay(holder);Camera.Parameters parameters = mCamera.getParameters();List<Camera.Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();Camera.Size optimalSize = getOptimalPreviewSize(supportedPreviewSizes, mSurfaceView.getWidth(), mSurfaceView.getHeight());if (optimalSize != null) {parameters.setPreviewSize(optimalSize.width, optimalSize.height);Log.d(TAG, "Preview size set to: " + optimalSize.width + "x" + optimalSize.height);}List<String> focusModes = parameters.getSupportedFocusModes();if (focusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);} else if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) {parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);}mCamera.setParameters(parameters);setCameraDisplayOrientation();mCamera.startPreview();mIsSafeToTakePicture = true;} catch (Exception e) {Log.e(TAG, "Error starting camera: " + e.getMessage());Toast.makeText(this, "无法启动相机: " + e.getMessage(), Toast.LENGTH_SHORT).show();setResult(RESULT_ERROR);finish();}}

调试插件

跟本地打包配置一个样,之前文章有写啦就不再赘述!

最后

通过camera api 拍照不保存到相册的问题解决啦,不过缓存的问题还需要优化,采用原生插件的话就没法本地打包,很烦的一点!😑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/82002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CVE-2024-42323

漏洞名称 Apache HertzBeat SnakeYaml 反序列化远程代码执行漏洞&#xff08;CVE-2024-42323&#xff09; 漏洞描述 Apache HertzBeat 是一款开源的实时监控告警工具&#xff0c;支持对操作系统、中间件、数据库等多种对象进行监控&#xff0c;并提供 Web 界面进行管理。 在…

“人工智能+多学科”选题思路,2025热点AI+(180个)

给大家整理了一份超全的论文资料合集 不仅有论文创新点的干货知识、开题报告模板、文献综述模板、审稿意见回复模板、还有全套的SCI论文写作指导教程和人工智能各方向经典的论文合集以及各大热门科研和论文写作润色工具等 以及1000G人工智能资料包&#xff08;如下图&#xff…

LangChain4j入门AI(八)使用RAG增加私有知识库

前言 我们通过提示词工程提升了通用LLM的专业知识水平&#xff0c;并结合Function Calling构建了私有业务能力。为了在实际应用中有效维护私有领域的专有数据&#xff0c;我们进一步采用大模型微调或RAG检索增强技术&#xff0c;使LLM能够充分掌握私有知识库的内容。 一、微调…

使用arXiv.org上的资源进行学术研究

arXiv.org e-Print archive arXiv.org 是一个收集物理学、数学、计算机科学、定量生物学、定量金融学和统计学等领域学术论文预印本的网站&#xff0c;其使命是促进科学文献的传播与交流。以下是关于该网站的详细介绍&#xff1a; 核心定位与功能 学术预印本平台&#xff1a…

Redis 中的缓存击穿、缓存穿透和缓存雪崩是什么?

在 Redis 中&#xff0c;缓存击穿、缓存穿透和缓存雪崩是常见的缓存问题&#xff0c;它们都会影响系统的性能和稳定性。以下是针对这三个问题的详细解释&#xff1a; 一、缓存击穿&#xff08;Cache Breakdown&#xff09; 定义&#xff1a;缓存击穿是指某个热点数据在缓存中…

RabbitMQ配置环境变量

一、RabbitMQ下载 1、从官网下载 在官网中下载&#xff0c;适合自己电脑的版本。我直接下载的windows版本。 然后下载opt这个软件这个版本适合3.6.3的RabbitMQ&#xff0c;点击蓝色的字体即可下载。 2、安装erlang 当你双击安装程序并进入安装向导后&#xff0c;会看到这样…

基于vue框架的东莞市二手相机交易管理系统5yz0u(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,相机分类,二手相机 开题报告内容 基于FlaskVue框架的东莞市二手相机交易管理系统开题报告 一、研究背景与意义 1.1 研究背景 随着数字技术的迅猛发展和摄影文化的广泛普及&#xff0c;相机已成为人们记录生活、表达创意的重要工…

dify调用Streamable HTTP MCP应用

一、概述 上一篇文章&#xff0c;介绍了使用python开发Streamable HTTP MCP应用&#xff0c;链接&#xff1a;https://www.cnblogs.com/xiao987334176/p/18872195 接下来介绍dify如何调用MCP 二、插件 安装插件 需要安装2个插件&#xff0c;分别是&#xff1a;Agent 策略(支持 …

笔记:将一个文件服务器上的文件(一个返回文件数据的url)作为另一个http接口的请求参数

笔记&#xff1a;将一个文件服务器上的文件&#xff08;一个返回文件数据的url&#xff09;作为另一个http接口的请求参数 最近有这么个需求&#xff0c;需要往某一个业务的外部接口上传文件信息&#xff0c;但是现在没有现成的文件&#xff0c;只在数据库存了对应的url&#…

如何在 FastAPI 中合理使用 Pydantic 的 Alias

下面的内容是我跟 Gemini 2.5 Pro 探讨关于Pydantic 的 Alias 问题之后&#xff0c;让它总结的一篇技术博客。 我已经有很长一段时间没有好好写技术类的博客了&#xff0c;这就是原因。 可以在 https://panzhixiang.cn/ 查看更多我的博客&#xff0c;有技术的&#xff0c;也有很…

CAU人工智能class4 批次归一化

归一化 在对输入数据进行预处理时会用到归一化&#xff0c;将输入数据的范围收缩到0到1之间&#xff0c;这有利于避免纲量对模型训练产生的影响。 但当模型过深时会产生下述问题&#xff1a; 当一个学习系统的输入分布发生变化时&#xff0c;这种现象称之为“内部协变量偏移”…

动态库和静态库详解

库其实就是个文件 下面是文件后缀 静态库&#xff1a;.a(linux) .lib(windows) 动态库&#xff1a;.so(linux) .dll(windows) 静态库的制作 ar -rc libmystdio.a my_stdio.o my_string.o ar是归档工具&#xff0c;rc表示replace和create&#xff0c;ar跟tar有点…

PDF 文档结构化工具对比:Marker 与 MinerU

模型训练数据-MinerU一款Pdf转Markdown软件 https://codeyuan.blog.csdn.net/article/details/144315141 在当前大模型&#xff08;LLM&#xff09;和自然语言处理&#xff08;NLP&#xff09;应用快速发展的背景下&#xff0c;如何高效地将 PDF 等非结构化文档转换为结构化数…

shp2pgsql 导入 Shp 到 PostGIS 空间数据库

前言 ❝ shp2pgsql是PostGIS自带的命令行工具&#xff0c;用于将Shapefile文件声称SQL脚本导入到PostGIS空间数据库。 1. 安装 PostGIS 通过Application Stack Builder或者下载单独的PostGIS包进行安装。而shp2pgsql则是与PostGIS工具集成在一起&#xff0c;无需单独下载。该命…

【ISP算法精粹】什么是global tone mapping和local tone mapping?

1. 简介 全局色调映射&#xff08;Global Tone Mapping&#xff09;和局部色调映射&#xff08;Local Tone Mapping&#xff09;是高动态范围&#xff08;HDR&#xff09;图像处理中的两种关键技术&#xff0c;用于将高动态范围图像的亮度值映射到标准动态范围&#xff08;LDR…

虚拟环境中VSCode运行jupyter文件

用VS Code打开jupyter文件&#xff0c;点击右上角 Select Kernel 在正上方会出现这个选择框&#xff0c;选择 Python Environment 会出来所有的虚拟环境&#xff0c;选择要用的环境行

如何计算VLLM本地部署Qwen3-4B的GPU最小配置应该是多少?多人并发访问本地大模型的GPU配置应该怎么分配?

本文一定要阅读我上篇文章&#xff01;&#xff01;&#xff01; 超详细VLLM框架部署qwen3-4B加混合推理探索&#xff01;&#xff01;&#xff01;-CSDN博客 本文是基于上篇文章遗留下的问题进行说明的。 一、本文解决的问题 问题1&#xff1a;我明明只部署了qwen3-4B的模型…

antv/g6 图谱封装配置(二)

继上次实现图谱后&#xff0c;后续发现如果要继续加入不同样式的图谱实现起来太过麻烦&#xff0c;因此考虑将配置项全部提取封装到js文件中&#xff0c;图谱组件只专注于实现各种不同的组件&#xff0c;其中主要封装的点就是各个节点的横坐标&#xff08;x&#xff09;,纵坐标…

从芯片互连到机器人革命:英伟达双线出击,NVLink开放生态+GR00T模型定义AI计算新时代

5月19日&#xff0c;在台湾举办的Computex 2025上&#xff0c;英伟达推出新技术“NVLink Fusion”&#xff0c;允许非英伟达CPU和GPU&#xff0c;同英伟达产品以及高速GPU互连技术NVLink结合使用&#xff0c;加速AI芯片连接。新技术的推出旨在保持英伟达在人工智能开发和计算领…

Qt window frame + windowTitle + windowIcon属性(3)

文章目录 window frame属性window frame的概念1. window frame的影响2. 图片演示3. 代码演示 API接口widget.cpp&#xff08;测试代码&#xff09; windowTitle属性API接口问题 注意点widget.cpp&#xff08;属性用法&#xff09; windowIcon属性API接口啥是窗口图标玩法1. 先…