前言:公司上线了一个项目,做Android 客户端集成友盟分享,在做得过程中,遇到了下面3个问题,希望其他小伙伴注意。

( 友盟在线客服 QQ : 800083942  )

错误1

1、错误描述

我是照着友盟的集成文档一步一步的集成的,做完后,发现qq空间分享不成功,总是出现失败,下面是失败截图

2、错误原因:分享链接错误

因为我们的应用还没有上线,所以分享的链接是本地搭建的服务器地址,比如:"http://192.168.1.132:8001/app“

就是因为这个分享链接的问题,导致我分享到qq空间出现异常。如果把这个链接换成: ”http://www.baidu.com“,分享就成功了。

总结:分享链接最好用带域名的链接,不要使用带ip地址的链接

错误2:错误的集成qq appId 

1、错误的集成

2、正确的集成

二、关于分享成功回调的问题

1、关于 WXEntryActivity

1.1:路径的问题

1.1.1 :获取包名

这里请注意包名是app的包名,不是代码的包名,也不是AndroidManifest.xml 里面的package

Android studio正确获取的包名的方法:

1.1.2  设置WXEntryActivity路径 ,假设 1.1.1 中的路径是com.sp.szry

在Android studio 中创建一个包名为  com.sp.szry.wxapi

1.1.3  在AndroidManifest.xml 里面配置 WXEntryActivity 路径

1.2:代码的问题

public class WXEntryActivity extends WXCallbackActivity  {

    @Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
} @Override
public void onReq(BaseReq req) {
super.onReq(req);
} //微信回调
@Override
public void onResp(BaseResp resp) { //分享之后的回调
switch ( resp.errCode ) {
case BaseResp.ErrCode.ERR_OK : //正确返回
//Toast.makeText(this, "微信分享成功回调了111", Toast.LENGTH_SHORT).show();
break;
}
super.onResp(resp);
}
}

2、关于分享回调

//分享回调
ShareCallBackLister shareCallBackLister ;
  if ( shareCallBackLister == null ){
shareCallBackLister = new ShareCallBackLister();
} //打开分享面板
mController.openShare(ShareWebActivity.this, shareCallBackLister ) ;
  /**
* 友盟分享回调
*/
class ShareCallBackLister implements SocializeListeners.SnsPostListener { @Override
public void onStart() {
} @Override
public void onComplete(SHARE_MEDIA share_media, int eCode , SocializeEntity socializeEntity) {
if (eCode == 200) { //分享成功 if (SHARE_MEDIA.SINA.toString().equals(share_media.toString()) ) { //新浪微博 }else if ( SHARE_MEDIA.WEIXIN.toString().equals(share_media.toString()) ){ //微信 }else if ( SHARE_MEDIA.WEIXIN_CIRCLE.toString().equals(share_media.toString()) ){ //微信朋友圈 }else if ( SHARE_MEDIA.QQ.toString().equals( share_media.toString()) || SHARE_MEDIA.QZONE.toString().equals( share_media.toString() )){ //qq }
} else {
String eMsg = "";
if (eCode == -101){
eMsg = "没有授权";
}
//分享失败
}
}
}

三:新浪微博分享的问题

      错误描述:在分享中,我设置了分享的内容,分享的链接地址,分享的图片。分享完成后发现分享的http地址打不开,于是找到了一下解决方法

分享原代码:(错误的 )

        //新浪微博
SinaShareContent sina = new SinaShareContent(); //分享标题
sina.setTitle( shareTitle );
//分享内容
sina.setShareContent( shareText );
//分享链接
sina.setTargetUrl( shareUrl ); //分享图片
if ( shareImageUrl.length() > 3 ){
sina.setShareImage(new UMImage(activity, shareImageUrl));
}else {
sina.setShareImage(new UMImage(activity, R.drawable.logo144));
} ShareWebActivity.mController.setShareMedia( sina );

正确的代码 :(正确的  ) (注意:分享的链接 要 拼接到 分享内容的后面 , 否则分享链接失效 )

        //新浪微博
SinaShareContent sina = new SinaShareContent(); //分享标题
sina.setTitle( shareTitle );
//分享内容
sina.setShareContent( shareText + shareUrl ); //分享图片
if ( shareImageUrl.length() > 3 ){
sina.setShareImage(new UMImage(activity, shareImageUrl));
}else {
sina.setShareImage(new UMImage(activity, R.drawable.logo144));
} ShareWebActivity.mController.setShareMedia( sina );

Android 友盟分享躺过的几个坑,大坑,坑爹啊的更多相关文章

  1. Android 友盟分享详细集成过程及所遇问题解决

    最近项目需要针对微信.朋友圈.QQ.QQ空间集成友盟分享的功能,说实话,我也是第一次做,期间碰到过很多问题,这篇随笔就来写一下我是怎么集成友盟分享的,还有碰到哪些问题,都是怎样解决的! 其实集成友盟并 ...

  2. android 集成友盟分享之后,想自定义分享面板的看过来

    第一种情况 首先上传一张默认的友盟分享的效果图 看起来还不错,但是总是有这样那样的原因,需要我们对默认效果做出一些改变. 第二种情况 如果你想做出下面的效果: 或者这样的效果 : 总之上面的效果总是在 ...

  3. UmengShareDemo【友盟分享SDK集成,基于V6.9.3版本】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里简单记录下友盟分享SDK集成的步骤. 如果想要使用自定义分享对话框实现,请参考<ShareDialogDemo[分享对话框 ...

  4. 友盟分享小结 - iOS

    因之前都写在了 AppDelegate 类中,看起来过于臃肿,此次基于友盟分享重新进行了一次优化,此次分享内容基于已经成功集成 SDK 后 code 层级部分.注:此次分享基于 SDK 6.9.3,若 ...

  5. Unity接入友盟分享遇到的坑

    最近项目接了一下友盟分享的SDK,中间遇到了几个坑,写下几条注意事项记录一下. 接入之前需要准备友盟开发者账号,相应平台开发者账号(微信.QQ.新浪微博)等... 安卓端: 1.确保 AndroidM ...

  6. ios中调用友盟分享时qq可以分享但是微信失败,只显示文字,网页链接没有出现

    问题如下,最后在老大各种替换的情况下,找到了原因,是因为图片失效了,友盟分享微信时必须需要图片才可以,如果服务器图片失效,则会失败: 注意下面的图片是否能够获取???????????????????? ...

  7. iOS开发-友盟分享(3)

    iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后 ...

  8. iOS开发-友盟分享使用(2)

    1.友盟SDK提供功能:分享喜欢的东西到新浪微博.qq空间.为微信朋友圈等等等等社交圈. 2.友盟分享前期准备 (1)注册账号 去官网 (2)创建应用获取appkey 类似5556a53667e*** ...

  9. iOS开发-友盟分享(1)

    1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网  友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就 ...

随机推荐

  1. Windows Azure Active Directory (4) China Azure AD Self Password Reset

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 在开始本章内容之前,请读者熟悉笔者之前写的文档: Windows ...

  2. CentOS7 Java安装

    CentOS7 Java安装 CentOS7 Java安装 Download 从Oracle下载jdk-8u31-linux-x64.rpm Install 御载 执行如下命令 java -versi ...

  3. IOS 字典快速转换为Model 模型

    一般情况下IOS得局部页面加载的过程是,创建一个Model然后,将Nib文件与Model进行关联,然后能够快速的获取到Nib文件上的控件实例.操作生成页面. 但是原生的内容是没有直接通过Json获取M ...

  4. ASP.NET MVC系列:添加控制器

    基于MVC的应用程序包含三个部分 Models(模型):对应用程序的数据进行处理 Views(视图):动态生成HTML,显示数据 Controllers(控制器):应用程序中处理用户交互的部分,处理浏 ...

  5. Spring MVC 对于@ModelAttribute 、@SessionAttributes 的详细处理流程

    初学 Spring MVC , 感觉对于 @ModelAttribute 和 @SessionAttributes 是如何被Spring MVC处理的,这一流程不是很清楚, 经过Google资料,有了 ...

  6. STOP:c0000218 {Registry File Failure}

    这几天够折腾的了,一台很老很老的服务器,在启动之后,一个阵列磁盘掉线了: 也许是磁盘坏了: 服务器4个硬盘做的是RAID1,正常来说,坏了其中一二个硬盘是没有问题的.现更换了一个好的硬盘之后,系统无法 ...

  7. Linux下快速设定ip bond

    在计算机网路普及的初期,很多OS系统都使用的为单网卡方式,即一个网卡使用一个IP地址.随着网络要求的不断提高,我们可以对多个网卡进行绑定聚合当一个逻辑网络接口来使用,从而大幅提升服务器的网络吞吐(I/ ...

  8. Object C中的数据类型表

    类型 例子 NSLog chars char 'a', '\n'  %c short int   — %hi, %hx, %ho unsigned short int   %hu, %hx, %ho ...

  9. datatable删除行

    先列出正确的写法,如果你只想马上改错就先复制吧, protected void deleteDataRow(int RowID,DataTable dt) { ; i >= ; i--) { i ...

  10. 设置Xshell中支持中文

    执行echo $LANG命令输出的是当前的编码方式,执行locale命令得到系统中所有可用的编码方式.要让Xshell不显示乱码,则要将编码方式改为UTF-8. 在Xshell中[file]-> ...