From fde174d256d4dced8bef6c439ec87cd888ad140b Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 12 六月 2024 17:27:43 +0800
Subject: [PATCH] 2024年06月12日17:27:36

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java
index 276831b..8ec0c0f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java
@@ -4,6 +4,7 @@
 import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.os.Bundle;
+import android.provider.MediaStore;
 import android.text.TextUtils;
 import android.view.View;
 
@@ -14,6 +15,7 @@
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityQrCodeMainBinding;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
 
 /**
  * 浜岀淮鐮佸悕鐗囩殑鐣岄潰
@@ -54,11 +56,35 @@
         viewBinding.toolbarTopQrCodeRl.topMoreBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                // 鍋囪浣犲凡缁忔湁浜嗕竴涓簩缁寸爜鍥剧墖锛岃繖閲屾槸涓�涓畝鍖栫殑鎴浘鏂规硶
+                viewBinding.qrCodeIv.setDrawingCacheEnabled(true);
+                Bitmap bitmap = viewBinding.qrCodeIv.getDrawingCache();
+                // 淇濆瓨鎴浘鍒扮浉鍐�
+                saveImageToGallery(bitmap);
+                // 娓呯悊缂撳瓨
+                viewBinding.qrCodeIv.setDrawingCacheEnabled(false);
+                if (bitmap != null && !bitmap.isRecycled()) {
+                    // 纭繚涓嶆槸宸茬粡鍥炴敹鐨凚itmap
+                    // 杩涜浣犻渶瑕佺殑鎿嶄綔
+                    Bitmap.createBitmap(bitmap).recycle();
+                }
             }
         });
 
     }
 
+
+    private void saveImageToGallery(Bitmap bitmap) {
+        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "QRCode", null);
+        if (path != null) {
+            HdlThreadLogic.toast(_mActivity, getString(R.string.save_qr_code_successfully));
+            // Toast.makeText(this, "淇濆瓨鎴愬姛", Toast.LENGTH_SHORT).show();
+        } else {
+            HdlThreadLogic.toast(_mActivity, getString(R.string.failed_to_save_qr_code));
+            //Toast.makeText(this, "淇濆瓨澶辫触", Toast.LENGTH_SHORT).show();
+        }
+    }
+
     private void initView() {
         viewBinding.toolbarTopQrCodeRl.topTitleTv.setText(R.string.qr_code_business_card);
         viewBinding.toolbarTopQrCodeRl.topBackLl.setVisibility(View.VISIBLE);

--
Gitblit v1.8.0