前言:公司要做第三方分享功能,由于时间比较紧急,所以就采用了第三方,本次使用的是友盟分享,由于是第一次使用这个分享,踩了不少坑,于是写下这篇博客来帮助其他人少踩坑也是给自己加深记忆.
使用方法
1. 去官网下载Demo进行参考(github.com/umeng/Multi…)
2. 下载所需分享的第三方社会化分享SDK(developer.umeng.com/sdk?spm=a21…)



3. 下载SDK集成辅助工具并生成moudle(developer.umeng.com/tools)







4. 去自己的项目导入这个moudle

5. 接下来就是去看官方Demo来进行对应的操作啦,由于不同的分享平台可能配置有所不同,所以就不一一细讲了,大家看官方Demo和说明文档应该不会有什么太大的问题,有问题可以评论一下,我看到肯定会答复的(官网说明文档链接developer.umeng.com/docs/66632/…)
踩坑记录
-
微信需要建立一个空Activity继承他的回调,如果大家根据他的规范操作了还有这个报错的话,大家记住一定要放在你的主moudle中,不然他是找不到这个Activity的,仔细检查清单文件的Activity是否路径正确,当然,如果要完全模块化或者是做SDK的话,可以使用别名,类似于这样:
<activity android:name="wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <activity-alias android:name="${applicationId}.wxapi.WXEntryActivity" android:targetActivity="wxapi.WXEntryActivity"/>
-
友盟面板的分享应用字体是没有国际化的,如果需要国际化的或者是分享面板的定制不能满足需求的可以自定义面板,然后参考官方demo的 SharePlatformActivity 与 ShareDetailActivity 实现点击自定义dialog的item跳转到对应的分享
-
友盟分享的错误码也是没有国际化的,如果是产品需要自定义Toast文字可以这样
String text = ""; if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS && platform != SHARE_MEDIA.EMAIL && platform != SHARE_MEDIA.FLICKR && platform != SHARE_MEDIA.FOURSQUARE && platform != SHARE_MEDIA.TUMBLR && platform != SHARE_MEDIA.POCKET && platform != SHARE_MEDIA.PINTEREST && platform != SHARE_MEDIA.INSTAGRAM && platform != SHARE_MEDIA.GOOGLEPLUS && platform != SHARE_MEDIA.YNOTE && platform != SHARE_MEDIA.EVERNOTE) { if (platform.toString().equals("WEIXIN")) { text = getResources().getString(R.string.wechat); } else if (platform.toString().equals("WEIXIN_CIRCLE")) { text = getResources().getString(R.string.wechat); } else if (platform.toString().equals("QQ")) { text = getResources().getString(R.string.qq); } else if (platform.toString().equals("QZONE")) { text = getResources().getString(R.string.q_zone); } if (throwable.toString().contains("2008")) { ToastUtil.showShort(String.format(getResources().getString(R.string.not_installed), text)); } }