关于升级到友盟6.0以后,5.0以上的android手机分享到QQ空间时出现Crash

近期因公司需求,更新了友盟最新SDK,起初测试未发现问题。

APP上线后通过Crashlytics后台反馈发现部分5.0以上机型(不分品牌)在调用友盟的接口分享到QQ空间时,发生   FileNotFoundException

错误指向 

public UMImage(Context var1, File var2) {
        this.compressStyle = UMImage.CompressStyle.SCALE;
        this.compressFormat = CompressFormat.JPEG;
        this.i = 0;
        this.a(var1, var2);
    }

在询问了友盟的客服后,友盟客服小姐姐表示 恩,您反馈的问题我们已经确认,但是我们暂时没有解决方案哦。

bug肯定不能扔着不管的,用户可不管是谁的问题。

解决方案 : 源码我们肯定改不了,所以想一个折中的办法,既然在分享时图片的地址 FileNotFoundException。

这个构造方法肯定是走不通了。打开UmImage的源码发现存在另一个构造方法

  public UMImage(Context var1, String var2) {
        super(var2);
        this.compressStyle = UMImage.CompressStyle.SCALE;
        this.compressFormat = CompressFormat.JPEG;
        this.i = 0;
        this.a((Context)(new WeakReference(var1)).get(), var2);
    }

传入Activity 与 图片url 同样可以分享。

Ok,问题搞定。

(这么搞虽然一时可以解决,但是肯定不是最终解决方案,期待新版SDK能修复这个问题。也许有大神已经找到错误原因,用另外的方法解决了这个Bug,期待分享)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值