你的位置:首页 > 操作系统

[操作系统]Android 友盟分享躺过的几个坑,大坑,坑爹啊


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

错误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.

                        

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

                       

                    

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

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

                   

               

          1.1.3  在AndroidManifest.

                   

               

   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 = "没有授权";        }        //分享失败      }    }  }