From 3f617fbe58fd89a61e2f4013fe80dba673fbd7ae Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 19 九月 2024 14:38:24 +0800 Subject: [PATCH] 2024年09月19日14:38:04 --- app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java | 41 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 38 insertions(+), 3 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..225b07b 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,17 +59,42 @@ 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); + viewBinding.toolbarTopQrCodeRl.topLeftIv.setImageResource(R.drawable.back_c); 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.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFECECEC, null)); + 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); @@ -75,7 +105,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