【问题】用 ShareSDK版本为2.7.0 在安卓端集成了社会化分享,只加了通过微信客户端的分享:包括 微信好友分享,微信朋友圈分享,微信收藏。
不管用哪种分享,成功后都会弹出Toast:“分享成功”,但对于“微信收藏”来说,最后弹出来“收藏成功”更好一些。所以经过和ShareSDK官网的技术支持的沟通,有了以下解决方案,直接更改ShareSDK的源码:
OnekeyShareThemeImpl.java文件里:
public final boolean handleMessage(Message msg) {
switch (msg.arg1) {
case 1: {
// 成功
String expName = msg.obj.getClass().getSimpleName();
// 这里判断一下分享是否来自“微信收藏”即可
if ("WechatFavorite".equals(expName)) {
// 这里模仿着下面 else里的写就行,else里是sdk自带的。
int resId2 = R.getStringRes(context, "ssdk_oks_collect_completed");
if (resId2 > 0) {
toast(context.getString(resId2));
// 这里要break一下,要不然会穿透到下面。
break;
}
} else {
int resId = R.getStringRes(context, "ssdk_oks_share_completed");
if (resId > 0) {
toast(context.getString(resId));
}
}
}
break;
...
【说明】
上面的自带的 ssdk_oks_share_completed 位于 res/values/ ssdk_oks_strings.xml 当中。WechatFavorite 关键字是固定写死的。
应用需要签名后,手机上安装了微信才可以进行测试。经测试,没问题。当点击了“微信收藏”的收藏后,成功弹出Toast:“收藏成功”。