lmw
2023-05-12 f67802a41f9e01444d1115f34ecc6e1beb05fc3b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package com.fuban.user.ui.mine
 
import android.app.Activity
import android.util.Log
import cn.sinata.xldutils.utils.SPUtils
import com.fuban.user.R
import com.fuban.user.network.Apis
import com.fuban.user.ui.TransparentStatusBarActivity
import com.fuban.user.dialog.ShareDialog
import com.fuban.user.utils.Const
import com.share.utils.ShareUtils
import com.umeng.socialize.ShareAction
import com.umeng.socialize.ShareContent
import com.umeng.socialize.UMShareListener
import com.umeng.socialize.bean.SHARE_MEDIA
import com.umeng.socialize.media.UMImage
import com.umeng.socialize.media.UMWeb
import kotlinx.android.synthetic.main.activity_share.*
 
class ShareAppActivity : TransparentStatusBarActivity(), UMShareListener {
    override fun setContentView() = R.layout.activity_share
 
    override fun initClick() {
        tv_action.setOnClickListener {
            val shareDialog = ShareDialog()
            shareDialog.setCallback(object : ShareDialog.Callback {
                override fun onOk(way: Int) {
                    try {
                        if (way == 1){
                            share(this@ShareAppActivity,Const.Share.NORMAL_CONTENT
                                ,Const.Share.TITLE,String.format(
                                    Apis.SHARE_URL,
                                    SPUtils.instance().getInt(Const.User.USER_ID)
                                ), UMImage(this@ShareAppActivity, R.mipmap.share_icon), SHARE_MEDIA.QQ)
                            return
                        }
                        ShareUtils.share(
                            this@ShareAppActivity,
                            if (way == 0) SHARE_MEDIA.WEIXIN else if (way == 1) SHARE_MEDIA.QQ else
                                SHARE_MEDIA.MORE,
                            Const.Share.NORMAL_CONTENT,
                            Const.Share.TITLE,
                            String.format(
                                Apis.SHARE_URL,
                                SPUtils.instance().getInt(Const.User.USER_ID)
                            ),
                            UMImage(this@ShareAppActivity, R.mipmap.share_icon),
                            this@ShareAppActivity,
                            ""
                        )
                        shareDialog.dismiss()
                    } catch (e: Exception) {
                        e.printStackTrace()
                    }
 
                }
            })
            shareDialog.show(supportFragmentManager, "share")
        }
    }
 
 
 
    open fun share(
        context: Activity,
        content: String?,
        title: String?,
        tagUrl: String?,
        image: UMImage?,
        platform: SHARE_MEDIA?
    ) {
        val web = UMWeb(tagUrl, title, content, image)
        val shareContent = ShareContent()
        shareContent.mMedia = web
        ShareAction(context).setPlatform(platform)
            .setShareContent(shareContent)
            .setCallback(object : UMShareListener {
                override fun onResult(p0: SHARE_MEDIA?) {
                    Log.d("TAG", p0.toString())
                }
 
                override fun onCancel(p0: SHARE_MEDIA?) {
                }
 
                override fun onError(p0: SHARE_MEDIA?, p1: Throwable?) {
                    Log.d("TAG", p1!!.message.toString())
                }
 
                override fun onStart(p0: SHARE_MEDIA?) {
                }
 
            })
            .share()
    }
 
 
    override fun initView() {
        title = "分享"
    }
 
    override fun onResult(p0: SHARE_MEDIA?) {
    }
 
    override fun onCancel(p0: SHARE_MEDIA?) {
    }
 
    override fun onError(p0: SHARE_MEDIA?, p1: Throwable?) {
    }
 
    override fun onStart(p0: SHARE_MEDIA?) {
    }
 
}