From 610a2aedd505bb4d8fb29f0bc6741ced74218bb0 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期二, 12 十一月 2024 13:46:37 +0800 Subject: [PATCH] fix bugs --- app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 42 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt index f4de509..fa3eddf 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt @@ -1,11 +1,18 @@ package com.sinata.xqmuse.ui.mine +import android.Manifest +import android.graphics.Bitmap import android.os.Bundle +import android.os.Environment +import android.provider.MediaStore +import android.util.Log import android.webkit.WebChromeClient import android.webkit.WebSettings import android.webkit.WebViewClient import androidx.core.os.bundleOf +import androidx.core.view.drawToBitmap import cn.sinata.xldutils.activity.BaseActivity +import cn.sinata.xldutils.utils.BitmapUtils import com.github.zackratos.ultimatebar.UltimateBar import com.share.utils.ShareUtils import com.sinata.xqmuse.R @@ -13,13 +20,23 @@ import com.sinata.xqmuse.network.Apis import com.sinata.xqmuse.network.HttpManager import com.sinata.xqmuse.network.request +import com.sinata.xqmuse.utils.Const import com.sinata.xqmuse.utils.interfaces.StringCallback +import com.tbruyelle.rxpermissions2.RxPermissions import com.umeng.socialize.bean.SHARE_MEDIA +import com.ypx.imagepicker.utils.PBitmapUtils import kotlinx.android.synthetic.main.activity_share.* +import kotlinx.android.synthetic.main.layout_share_img.* +import kotlinx.android.synthetic.main.layout_share_img.view.* import org.jetbrains.anko.backgroundColor +import org.jetbrains.anko.toast +import java.io.File +import java.io.FileOutputStream class ShareActivity:BaseActivity() { private val userId by lazy { intent.getStringExtra("userId") } + private var qrcode = "" + private var poster = "" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -53,7 +70,26 @@ }else if (rst == "circle"){ ShareUtils.share(this@ShareActivity,SHARE_MEDIA.WEIXIN_CIRCLE,"分享内容","分享标题",Apis.SHARE_APP.format(userId),null,"") }else{ - + RxPermissions(this@ShareActivity).request(Manifest.permission.WRITE_EXTERNAL_STORAGE).subscribe { + if (it) + try { + toast("图片生成中…") + val copyPath = PBitmapUtils.getPickerFileDirectory(this@ShareActivity).absolutePath + "/" + System.currentTimeMillis() + ".png" + val file = File(copyPath) + if (!file.exists()) { + file.createNewFile() + } + val fors = FileOutputStream(file) + layout_share.drawToBitmap()?.compress(Bitmap.CompressFormat.PNG, 0, fors) + fors.flush() + fors.close() + MediaStore.Images.Media.insertImage(this@ShareActivity.contentResolver, file.absolutePath, copyPath, null); + toast("保存成功") + } catch (e: Exception) { + Log.e(Const.Tag,e?.message?:"") + toast("保存失败") + } + } } } } @@ -63,6 +99,8 @@ private fun getShareInfo(){ HttpManager.shareInfo().request(this){_,data-> + this.qrcode = data?.qrCode?:"" + this.poster = data?.poster?:"" data?.apply { iv_code.setImageURI(qrCode) val sHead = @@ -75,6 +113,9 @@ null ) iv_share.setImageURI(poster) + //分享view + iv_poster.setImageURI(poster) + iv_share_code.setImageURI(qrCode) } } } -- Gitblit v1.7.1