在BlackBerry上获取格式化的SIM卡号

时间:2010-12-13 14:38:00

标签: blackberry sim-card

在我的申请中,我需要获取SIM卡号码。我用SIMCardInfo.getIMSI()得到了它,但是用其他格式。

我的SIM号码是89919400002018929130,但我得到的是:404940.20.189291.3

我使用了以下代码:

   try 
    {
       currentSimNo = GPRSInfo.imeiToString(SIMCardInfo.getIMSI());
    } 
    catch (Exception e) 
    {

    }

2 个答案:

答案 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 ...)进行比较的数字必须采用不同的编码方式。