博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 友盟分享躺过的几个坑,大坑,坑爹啊
阅读量:6292 次
发布时间:2019-06-22

本文共 3603 字,大约阅读时间需要 12 分钟。

 

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

 

    

 

 

     

 

转载地址:http://zijta.baihongyu.com/

你可能感兴趣的文章
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>
动态下拉菜单,非hover
查看>>
政府安全资讯精选 2017年第十六期 工信部发布关于规范互联网信息服务使用域名的通知;俄罗斯拟建立备用DNS;Google打击安卓应用在未经同意情况下收集个人信...
查看>>
简单易懂的谈谈 javascript 中的继承
查看>>
iOS汇编基础(四)指针和macho文件
查看>>
Laravel 技巧锦集
查看>>
Android 使用 ViewPager+RecyclerView+SmartRefreshLayout 实现顶部图片下拉视差效果
查看>>
Flutter之基础Widget
查看>>
写给0-3岁产品经理的12封信(第08篇)——产品运营能力
查看>>
ArcGIS Engine 符号自动化配置工具实现
查看>>
小程序 · 跳转带参数写法,兼容url的出错
查看>>
flutter error
查看>>