99import android .graphics .drawable .BitmapDrawable ;
1010import android .os .Parcel ;
1111import android .os .Parcelable ;
12+ import android .util .Log ;
1213import android .view .LayoutInflater ;
1314import android .view .View ;
1415import android .view .View .OnClickListener ;
1516import android .view .ViewGroup .LayoutParams ;
1617import android .widget .PopupWindow ;
18+ import android .widget .Toast ;
1719
1820import com .umeng .socialize .bean .SHARE_MEDIA ;
1921import com .umeng .socialize .bean .SocializeEntity ;
22+ import com .umeng .socialize .bean .StatusCode ;
23+ import com .umeng .socialize .controller .UMEvernoteHandler ;
2024import com .umeng .socialize .controller .UMServiceFactory ;
2125import com .umeng .socialize .controller .UMSocialService ;
2226import com .umeng .socialize .controller .listener .SocializeListeners ;
27+ import com .umeng .socialize .media .SinaShareContent ;
2328import com .umeng .socialize .media .UMImage ;
2429import com .umeng .socialize .sso .QZoneSsoHandler ;
30+ import com .umeng .socialize .sso .SinaSsoHandler ;
2531import com .umeng .socialize .sso .UMQQSsoHandler ;
32+ import com .umeng .socialize .weixin .controller .UMWXHandler ;
2633
2734import net .coding .program .AllThirdKeys ;
2835import net .coding .program .R ;
36+ import net .coding .program .common .Global ;
2937
3038/**
3139 *
@@ -45,19 +53,52 @@ public CustomShareBoard(Activity activity, ShareData shareData) {
4553 }
4654
4755 private void addQQ () {
48- UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler (mActivity , AllThirdKeys .APP_ID , AllThirdKeys .APP_KEY );
56+ UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler (mActivity , AllThirdKeys .QQ_APP_ID , AllThirdKeys .QQ_APP_KEY );
4957 qqSsoHandler .setTargetUrl (mShareData .link );
5058 qqSsoHandler .setTitle (mShareData .name );
5159 qqSsoHandler .addToSocialSDK ();
5260 }
5361
62+ private void addWX () {
63+ UMWXHandler wxHandler = new UMWXHandler (mActivity , AllThirdKeys .WX_APP_ID , AllThirdKeys .WX_APP_KEY );
64+ wxHandler .setTargetUrl (mShareData .link );
65+ wxHandler .setTitle (mShareData .name );
66+ wxHandler .addToSocialSDK ();
67+ }
68+
69+ private void addWXCircle () {
70+ UMWXHandler wxCircleHandler = new UMWXHandler (mActivity , AllThirdKeys .WX_APP_ID , AllThirdKeys .WX_APP_KEY );
71+ wxCircleHandler .setTargetUrl (mShareData .link );
72+ wxCircleHandler .setTitle (mShareData .name );
73+ wxCircleHandler .setToCircle (true );
74+ wxCircleHandler .addToSocialSDK ();
75+ }
76+
5477 private void addQQZone () {
5578 // 添加QZone平台
56- QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler (mActivity , AllThirdKeys .APP_ID , AllThirdKeys .APP_KEY );
79+ QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler (mActivity , AllThirdKeys .QQ_APP_ID , AllThirdKeys .QQ_APP_KEY );
5780 qZoneSsoHandler .setTargetUrl (mShareData .link );
5881 qZoneSsoHandler .addToSocialSDK ();
5982 }
6083
84+ private void addSinaWeibo () {
85+ // SinaSsoHandler sinaSsoHandler = new SinaSsoHandler();
86+ // sinaSsoHandler.setTargetUrl(mShareData.link);
87+ // sinaSsoHandler.addToSocialSDK();
88+ mController .getConfig ().setSsoHandler (new SinaSsoHandler ());
89+ }
90+
91+ private void addEvernote () {
92+ UMEvernoteHandler evernoteHandler = new UMEvernoteHandler (mActivity );
93+ evernoteHandler .addToSocialSDK ();
94+
95+ // 设置evernote的分享内容
96+ // EvernoteShareContent shareContent = new EvernoteShareContent(
97+ // "来自友盟社会化组件(SDK)让移动应用快速整合社交分享功能-EverNote。http://www.umeng.com/social");
98+ // shareContent.setShareMedia(new UMImage(getActivity(), R.drawable.test));
99+ // mController.setShareMedia(shareContent);
100+ }
101+
61102 public static class ShareData implements Parcelable {
62103 public String name = "" ;
63104 public String link = "" ;
@@ -127,10 +168,20 @@ public ShareData[] newArray(int size) {
127168 @ SuppressWarnings ("deprecation" )
128169 private void initView (Context context ) {
129170 View rootView = LayoutInflater .from (context ).inflate (R .layout .share_custom_board , null );
130- rootView .findViewById (R .id .wechat ).setOnClickListener (this );
131- rootView .findViewById (R .id .wechat_circle ).setOnClickListener (this );
132- rootView .findViewById (R .id .qq ).setOnClickListener (this );
133- rootView .findViewById (R .id .qzone ).setOnClickListener (this );
171+ final int [] buttns = new int []{
172+ R .id .wechat ,
173+ R .id .wechat_circle ,
174+ R .id .qq ,
175+ R .id .qzone ,
176+ R .id .sinaWeibo ,
177+ R .id .evernote ,
178+ R .id .codingFriend ,
179+ R .id .linkCopy
180+ };
181+ for (int id : buttns ) {
182+ rootView .findViewById (id ).setOnClickListener (this );
183+ }
184+
134185 setContentView (rootView );
135186 setWidth (LayoutParams .MATCH_PARENT );
136187 setHeight (LayoutParams .WRAP_CONTENT );
@@ -144,9 +195,11 @@ public void onClick(View v) {
144195 int id = v .getId ();
145196 switch (id ) {
146197 case R .id .wechat :
198+ addWX ();
147199 performShare (SHARE_MEDIA .WEIXIN );
148200 break ;
149201 case R .id .wechat_circle :
202+ addWXCircle ();
150203 performShare (SHARE_MEDIA .WEIXIN_CIRCLE );
151204 break ;
152205 case R .id .qq :
@@ -157,6 +210,25 @@ public void onClick(View v) {
157210 addQQZone ();
158211 performShare (SHARE_MEDIA .QZONE );
159212 break ;
213+
214+ case R .id .sinaWeibo :
215+ addSinaWeibo ();
216+ performShare (SHARE_MEDIA .SINA );
217+ break ;
218+
219+ case R .id .evernote :
220+ addEvernote ();
221+ performShare (SHARE_MEDIA .EVERNOTE );
222+ break ;
223+
224+ case R .id .codingFriend :
225+ break ;
226+
227+ case R .id .linkCopy :
228+ Global .copy (mActivity , mShareData .link );
229+ Toast .makeText (mActivity , "链接已复制 " + mShareData .link , Toast .LENGTH_SHORT ).show ();
230+ break ;
231+
160232 default :
161233 break ;
162234 }
@@ -169,6 +241,17 @@ private void performShare(SHARE_MEDIA platform) {
169241 mController .setShareImage (umImage );
170242 }
171243
244+ if (platform == SHARE_MEDIA .SINA ) {
245+ SinaShareContent sinaContent = new SinaShareContent ();
246+ sinaContent .setShareContent (mShareData .des + " " + mShareData .link );
247+ sinaContent .setTargetUrl (mShareData .link );
248+ UMImage umImage = new UMImage (mActivity , mShareData .img );
249+ sinaContent .setShareImage (umImage );
250+ sinaContent .setTitle (mShareData .name );
251+ sinaContent .setAppWebSite (mShareData .link );
252+ mController .setShareMedia (sinaContent );
253+ }
254+
172255 mController .postShare (mActivity , platform , new SocializeListeners .SnsPostListener () {
173256
174257 @ Override
@@ -178,14 +261,15 @@ public void onStart() {
178261
179262 @ Override
180263 public void onComplete (SHARE_MEDIA platform , int eCode , SocializeEntity entity ) {
181- // String showText = platform.toString();
182- // if (eCode == StatusCode.ST_CODE_SUCCESSED) {
183- // showText += "平台分享成功";
184- // } else {
185- // showText += "平台分享失败";
186- // }
187- // Toast.makeText(mActivity, showText, Toast.LENGTH_SHORT).show();
188- // dismiss();
264+ String showText = platform .toString ();
265+ if (eCode == StatusCode .ST_CODE_SUCCESSED ) {
266+ showText += "平台分享成功" ;
267+ } else {
268+ showText += "平台分享失败" ;
269+ }
270+ Log .d ("" , "umengshare " + eCode );
271+ Toast .makeText (mActivity , showText , Toast .LENGTH_SHORT ).show ();
272+ dismiss ();
189273 }
190274 }
191275
0 commit comments