您当前的位置: 首页 > 

蓝不蓝编程

暂无认证

  • 0浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

友盟分享导致闪退

蓝不蓝编程 发布时间:2019-01-18 14:08:58 ,浏览量:0

报错信息:
2019-01-18 11:17:00.550 10366-11148/com.test E/CrashReport: java.lang.NullPointerException: Attempt to get length of null array
        at com.umeng.socialize.a.a.a(SocialRouter.java:614)
        at com.umeng.socialize.a.a.a(SocialRouter.java:646)
        at com.umeng.socialize.UMShareAPI$4.a(UMShareAPI.java:240)
        at com.umeng.socialize.UMShareAPI$4.doInBackground(UMShareAPI.java:231)
        at com.umeng.socialize.common.QueuedWork$UMAsyncTask$1.run(QueuedWork.java:136)
        at java.lang.Thread.run(Thread.java:784)
分析:

查看了好久,开始以为是友盟key或者qq、微信的key不对导致的,结果调整之后还是不行。最后还是回归代码,根据报错堆栈,查看代码,“var3.add(SHARE.LOCALTHUMB + var8.getThumbImage().asBinImage().length);”

至此才豁然开朗,这是分享时的图片。 那就应该是分享时传入的图片为空导致的。

解决方案:

后经验证,确实如上。不过因自己对友盟的分享做过一层封装,如果调用者确实没有图片传入的化,在构造分享对象时就不要设置图片了。

原始代码为:

UMWeb umWeb;
umWeb =new UMWeb(mShareInfo.url);
umWeb.setTitle(mShareInfo.title);
umWeb.setDescription(mShareInfo.description);
umWeb.setThumb(new UMImage(mActivity, mShareInfo.thumbUrl));

修改方案为,设置umWeb前,对各属性做null判断。不为null才进行设置。 本人封装的shareDemoLib也已修复此问题,详见下方链接:

https://blog.csdn.net/yinxing2008/article/details/83184212

安卓开发技术分享: https://blog.csdn.net/yinxing2008/article/details/84555061

关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.0405s