From d0013a2c962f0725d2eb3a34e7a46d5b47484cb1 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期五, 12 七月 2024 18:36:13 +0800
Subject: [PATCH] 2024年07月12日18:36:10

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 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..3056f0c 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
@@ -1,19 +1,24 @@
 package com.hdl.photovoltaic.ui.me;
 
 
+import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.os.Bundle;
+import android.provider.MediaStore;
 import android.text.TextUtils;
 import android.view.View;
 
 import androidx.appcompat.content.res.AppCompatResources;
 
+import com.google.gson.Gson;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityQrCodeMainBinding;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.ui.bean.QrCodeBean;
 
 /**
  * 浜岀淮鐮佸悕鐗囩殑鐣岄潰
@@ -54,9 +59,33 @@
         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() {
@@ -75,7 +104,12 @@
             viewBinding.userAccountTv.setVisibility(View.VISIBLE);
             viewBinding.userAccountTv.setText(str);
         }
-        String content = UserConfigManage.getInstance().getAccount();
+        QrCodeBean qrCodeBean = new QrCodeBean();
+        qrCodeBean.setUserEmail(UserConfigManage.getInstance().getBingEmail());
+        qrCodeBean.setUserPhone(UserConfigManage.getInstance().getBingPhone());
+        qrCodeBean.setUserName(UserConfigManage.getInstance().getUserName());
+        qrCodeBean.setAccount(UserConfigManage.getInstance().getAccount());
+        String content = new Gson().toJson(qrCodeBean);
         Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 229, 229, "UTF-8", "H", "1", Color.BLACK, Color.WHITE);
         viewBinding.qrCodeIv.setImageBitmap(bitmap);
 

--
Gitblit v1.8.0