How to detect the SIM card change in android phone?

Surjya Narayana Padhi picture Surjya Narayana Padhi · Jun 13, 2012 · Viewed 20.2k times · Source

Its very much frustrating situation now in project. I am stuck up at one point. I want do a simple task as follows

  1. When someone change the SIM, detect this event and check if this new SIM is different from previous SIM and take action accordingly.
  2. I don't want to check the SIM_STATE periodically by timer or anything..
  3. Do android notify the state change of SIM? If yes please let me know I can detect the SIM change?

I have asked this question before also but no solid answer I got. It seems a very important API and no one care about it. Please provide me some code snippet if you have please...

I am stuck up here and in the android telephony service documentation I don't able to understand anything... It will very helpful if anyone can provide some code for the above.

Answer

Strider picture Strider · Aug 20, 2014

When you start Application Save your SIM(Subscriber ID).

Then every restart fetch SIM(Subscriber ID) And Compare with previous one which you save.

And for Finding SubscriberID number --

IMSI = m_telephonyManager.getSubscriberId();