最近测试部反馈部分手机在测试加了我们sdk的demo,会经常初始化失败,开始以为是网络问题,但是在网络抓包时,发现并非网络问题,因为初始化直接异常,根本没有进行网络请求。
通过日志发现,是因为在初始化中我们进行了抓取手机号码的操作,导致异常,抓取手机号码的代码很简单,如下:
在里面也进行了判空,用自己的手机重新测试了一下并打印了ret:
换用测试部的机器,打印ret:
此处很明显可以看到,是因为部分Sim卡,获取到的手机号码不带+86,导致分割字符串异常。
解决起来就比较简单了,直接在获取手机号码的外部去加一个异常捕获就可以了,当然也可以自己去分析手机号码字符长短来截取。(注意并不是所有手机号码前面都是+86,可能存在国外手机号码)