From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 14:54:42 +0800
Subject: [PATCH] 2025年05月07日14:54:39

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 12 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..bab8420 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;
 
 /**
  * 浜岀淮鐮佸悕鐗囩殑鐣岄潰
@@ -29,8 +34,8 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-        setNotificationBarBackgroundColor(CustomBaseActivity.CustomColor.white);
-        setStatusBarTextColor();
+        setStatusBarTranslucent();
+        getWindow().setNavigationBarColor(getColor(R.color.text_00000000));
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -44,28 +49,51 @@
 
 
     private void initEvent() {
-        viewBinding.toolbarTopQrCodeRl.topBackLl.setOnClickListener(new View.OnClickListener() {
+        viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 finish();
             }
         });
 
-        viewBinding.toolbarTopQrCodeRl.topMoreBtn.setOnClickListener(new View.OnClickListener() {
+        viewBinding.saveTv.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);
-        viewBinding.toolbarTopQrCodeRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null));
-        viewBinding.toolbarTopQrCodeRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-        viewBinding.toolbarTopQrCodeRl.topMoreIv.setVisibility(View.VISIBLE);
-        viewBinding.toolbarTopQrCodeRl.topMoreIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.save_image));
+        viewBinding.toolbarTopRl.topBarView.setBackgroundColor(getColor(R.color.text_00000000));
+        viewBinding.toolbarTopRl.topTitleTv.setText(R.string.qr_code_business_card);
+        viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE);
+//        viewBinding.toolbarTopQrCodeRl.topMoreBtn.setVisibility(View.VISIBLE);
+//        viewBinding.toolbarTopQrCodeRl.topMoreIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.save_image));
         if (!TextUtils.isEmpty(UserConfigManage.getInstance().getUserName())) {
             viewBinding.userNameTv.setVisibility(View.VISIBLE);
             viewBinding.userNameTv.setText(UserConfigManage.getInstance().getUserName());
@@ -75,8 +103,15 @@
             viewBinding.userAccountTv.setVisibility(View.VISIBLE);
             viewBinding.userAccountTv.setText(str);
         }
-        String content = UserConfigManage.getInstance().getAccount();
-        Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 229, 229, "UTF-8", "H", "1", Color.BLACK, Color.WHITE);
+        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 = UserConfigManage.getInstance().getBingEmail() + ";" + UserConfigManage.getInstance().getBingPhone() + ";" + UserConfigManage.getInstance().getUserName() + ";" + UserConfigManage.getInstance().getAccount();
+//        String content = UserConfigManage.getInstance().getAccount();//
+        String content = new Gson().toJson(qrCodeBean);//鍐呭杩囬暱寰俊鎵爜鏄剧ず鏈夐棶棰�
+        Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 168, 168, "UTF-8", "H", "1", Color.BLACK, Color.WHITE);
         viewBinding.qrCodeIv.setImageBitmap(bitmap);
 
     }

--
Gitblit v1.8.0