在我的申请中,我需要获取SIM卡号码。我用SIMCardInfo.getIMSI()
得到了它,但是用其他格式。
我的SIM号码是89919400002018929130,但我得到的是:404940.20.189291.3
我使用了以下代码:
try
{
currentSimNo = GPRSInfo.imeiToString(SIMCardInfo.getIMSI());
}
catch (Exception e)
{
}
答案 0 :(得分:2)
imeiToString需要IMEI而不是IMSI
答案 1 :(得分:1)
sampath说:
我的SIM号码是89919400002018929130,但我得到的是:404940.20.189291.3
如果我排列你的两个数字并删除分隔符,它们看起来大致相同:
89919400002018929130 404940201892913
你从哪里得到第一个?
在Wikipedia article on IMSI中,您可以看到前三位是MCC,后三位是MNC。所以看起来你的SIM卡来自印度,虽然我没有看到匹配940的MNC。
这些值经常被编码为binary-coded decimal,这就是需要使用imeiToString方法的原因。
修改强>
IMSI维基百科文章也提到:
IMSI通常以15位长数字表示,但可以更短。
我认为您的代码返回的值正确为404940201892913
。无论您想要将它与(899194 ...)进行比较的数字必须采用不同的编码方式。