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