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
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82002.shtml
英文地址,請注明出處:http://en.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. 先…