Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
New Developer
Posts: 8
Registered: ‎10-14-2008
My Device: Not Specified

Calling SIMCardInfo.getIMSI() on a real CDMA network

I need to determine if the user has changed the simcard between reset, I do this by checking if the imsi has been changed by calling SIMCardInfo.getIMSI(). This worked nicely most of the time.

 

But on the simulator(4.3.0 8330) configured to use a CDMA network, I got UnsupportedOperationException when trying to call SIMCardInfo.getIMSI(). I also tried calling CDMAInfo.getIMSI() but later discovered that  CDMAInfo.getIMSI() is not the same as  SIMCardInfo.getIMSI().

 

Can someone tell me if this UnsupportedOperationException will be also happen on a real device, or if there is any other way to uniquely identify a simcard regardless of network type.

Developer
Posts: 238
Registered: ‎08-26-2008
My Device: Not Specified

Re: Calling SIMCardInfo.getIMSI() on a real CDMA network

Hi,

 

this will also happen on a real device.

 

Regards,

Jochen

New Developer
Posts: 2
Registered: ‎01-22-2010
My Device: Storm 9530
My Carrier: Verizon

Re: Calling SIMCardInfo.getIMSI() on a real CDMA network

Bump....

 

I have the same problem described.  Is there any work around, or a way to uniquely identify a simcard regardless of network type?

Developer
Developer
Posts: 137
Registered: ‎06-01-2009
My Device: Not Specified

Re: Calling SIMCardInfo.getIMSI() on a real CDMA network

IMSI is is a unique number associated with all GSM and UMTS network mobile phone users. Therefore it does not exist in CDMA network.

Highlighted
Developer
Posts: 77
Registered: ‎01-27-2010
My Device: Bold 9000
My Carrier: AT&T

Re: Calling SIMCardInfo.getIMSI() on a real CDMA network

IMSI is available on CDMA phones.  The reason you are getting that exception is that CDMA phones do not have a sim card.  Instead detect which type of network it is by using RadioInfo.getNetworkType().  If it is a CDMA network then call CDMAInfo.getIMSI();