I’m writing an Android app that contains a contact list. The design required me to create my own app, not sync with the built-in contact list. There are a lot of features that the built-in contact list supports, like having other apps and the phone dialer display that list of contacts. Of course, so far, no other apps do anything with my contact list because they don’t know about it. In general, can I create a provider interface that the default phone apps will work with? Will it also be possible to do stuff like letting users have a different ring-tone for each contact in my list, like they can with the built-in contact list?
My data format is very different from the default contact list. For example, I only have 4 phone number fields, each with a hard-coded type (work, phone, cell, fax).. also only 1 email address field. Hopefully this won’t make it too hard to create a provider, if even possible.
Just looking for general advise and starting point please. I’ve read about using data providers and also creating them, so I know a little bit. I haven’t seen any other apps provide a contact list like I’m trying to do though, usually they just sync with the built-in provider (I think that is how GMail’s list works).
There’s no way to hook your provider into the default contact related apps. They are “burned-in” to use the built-in contact provider.
Building your own contact management UI and database is a lot of work. If you really want all the built-in features, consider storing your contacts in the devices contact database. The contacts API is complicated, but is an open API you can use to add your own data. It should be fine adding your particular fields, however the drawback is that all contacts will be mixed together.