zoukankan      html  css  js  c++  java
  • Android 友盟分享躺过的几个坑,大坑,坑爹啊

    前言:公司上线了一个项目,做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 );

        

         

  • 相关阅读:
    移动端图片懒加载插件
    Animate.css 教程
    git使用图解
    React-Native学习指南
    react-native 环境配置及hello world
    修改文件后浏览器自动刷新解决方案
    react-native 布局基础
    MongoDB数据库安装及配置环境(windows10系统)
    MongoDb windows环境安装,附百度云链接
    常用的几类npm依赖包管理
  • 原文地址:https://www.cnblogs.com/zhaoyanjun/p/4825691.html
Copyright © 2011-2022 走看看