There are at least two ways that I know of to write a Symbian application: 1. J2ME 2. A native application.
My question is, does the SDK/API for either of those methods (or any other method) grant me (at least) read-only access to contact information (names/numbers/etc) on the phone itself? Does this in any way depend on the specific phone being used?
Open the default contact database using CContactDatabase::OpenL(). use thus returned database object in TContactIter::NextL() in a loop to fetch the IDs of every contact in the contact book.
Don't forget, as well as native C++ and J2ME (MIDP), you have:
If you are thinking about lower-end devices which are often S40 devices, MIDP is probably your best bet however.
In C++, you can use e.g. the Contacts Model API. There's an example in Forum Nokia.
In J2ME, you need to be working on a phone that has JSR-75. Again, there's an example in Forum Nokia.