Disclaimer: The Android system does not
officially support writing to the SIM card. That means that
manufacturers probably don't test this feature, and as a result it may
or may not work, depending on the phone model. And as Contact2Sim
ultimately relies on the system to perform its actions, there is no way
to guarantee it will work either.
Contact2Sim needs a SIM card
to read from and write to. Usually GSM networks use SIM cards. CDMA
networks don't. So a phone running on Verizon or Sprint cannot be used.
And of course the radio must be started (not in Airplane Mode) !
Contact2Sim works fine on most phones running Android 1.5 ("Cupcake") or 1.6 ("Donut").
Android 2 ("Eclair", "Froyo") brings a specific support for USIM cards.
These cards, used with almost all 3G phones, are an evolution of the
plain old SIM card. Unfortunately, only the read part has been taken
care of in Android. The write part is broken. The regular SIM cards work
just as before, but Contact2Sim cannot use USIM cards, except for the
"Airplane Mode" trick (see below).
Android 4 and newer
Should just work on all phones, thanks to the Android fix I submitted to Google's development team back in 2010.
On some Android 2 phones, switching the radio off and on again
(Airplane Mode on and off) makes the phone forget it has an USIM card
and think it has a regular SIM instead. Contact2Sim works then normally.
This works well on the Nexus One.
The SIM card is limited both in number of entries (typically 250) and
length of the names, which may be truncated. Too long numbers may not be
copied at all.
And due to a limit in Android, SIM cards having a storage capacity
greater than 250 numbers may still be limited to 250.
Automatic name truncation may fail on some phones. In that case, contacts with too long names are not copied at all to the SIM. It is then necessary to set the limit manually in the settings.
Contact2Sim reads any kind of character from the SIM card (Chinese,
Russian, etc...). But when writing back to the SIM, non-latin characters
are lost. Again, the issue lies in Android itself and there is no
solution for now.