From 46f45f42abf00acf70e8160e73faa71aec3df13d Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 01 七月 2024 13:46:30 +0800 Subject: [PATCH] 2024年07月01日13:46:18 --- 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