友盟分享导致闪退
報(bào)錯(cuò)信息:
2019-01-18 11:17:00.550 10366-11148/com.test E/CrashReport: java.lang.NullPointerException: Attempt to get length of null arrayat 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不對(duì)導(dǎo)致的,結(jié)果調(diào)整之后還是不行。最后還是回歸代碼,根據(jù)報(bào)錯(cuò)堆棧,查看代碼,“var3.add(SHARE.LOCALTHUMB + var8.getThumbImage().asBinImage().length);”
至此才豁然開朗,這是分享時(shí)的圖片。
那就應(yīng)該是分享時(shí)傳入的圖片為空導(dǎo)致的。
解決方案:
后經(jīng)驗(yàn)證,確實(shí)如上。不過(guò)因自己對(duì)友盟的分享做過(guò)一層封裝,如果調(diào)用者確實(shí)沒有圖片傳入的化,在構(gòu)造分享對(duì)象時(shí)就不要設(shè)置圖片了。
原始代碼為:
UMWeb umWeb; umWeb =new UMWeb(mShareInfo.url); umWeb.setTitle(mShareInfo.title); umWeb.setDescription(mShareInfo.description); umWeb.setThumb(new UMImage(mActivity, mShareInfo.thumbUrl));修改方案為,設(shè)置umWeb前,對(duì)各屬性做null判斷。不為null才進(jìn)行設(shè)置。
本人封裝的shareDemoLib也已修復(fù)此問(wèn)題,詳見下方鏈接:
https://blog.csdn.net/yinxing2008/article/details/83184212
安卓開發(fā)技術(shù)分享: https://blog.csdn.net/yinxing2008/article/details/84555061
總結(jié)
- 上一篇: android友盟分享最新,Androi
- 下一篇: java算法之冒泡排序