注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

早衰男的巢

大音希声 道隐无名

 
 
 

日志

 
 

Android:用户识别IMSI 的一点补充  

2014-07-09 17:26:24|  分类: android笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
曾在很久之前写过一篇日志
当时测试结果是,即便是我的电信手机(Moto XT928,主卡是CDMA) 也可以获取到IMSI,于是乎后来的各种“不必强制用户进行登录注册而区别来访用户”的应用场景下,我一般采用IMSI来甄别用户身份,用了几年下来感觉是简单粗暴极好的。

直到今天弄来一台华为3C电信版和红米1S电信版,同样的程序遭遇闪退,排查下来是因为获取的imsi值为null。
看了一下 TelephonyManager.getSubscriberId() 的注释,晕~
Returns the unique subscriber ID, for example, the IMSI for a GSM phone. Return null if it is unavailable.
不是粗粮和华为的错,人家只是按约法三章办事。那我搞不懂这么多年来我xt928给我的imsi值到底是什么了..
然后我的策略稍微改了一下,成为这样。

TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);        
String  imsi =tm.getSubscriberId();     //取出IMSI,GSMPhone才有
        if(imsi==null){
         imsi = tm.getDeviceId(); //IMEI(GSM)/MEID(CDMA)
         Log.d(F.CFG_NAME,"imsi is null,save cdma.MEID instead:"+imsi);
        }
  评论这张
 
阅读(558)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018