Jeff, thanks for clarifying. I'd hate to have seen a bunch of apps break in the meantime.
On Oct 30, 1:26 pm, Jeff Sharkey <[email protected]> wrote: > The original, public "android.provider.Contacts" APIs that has shipped > since Android 1.0 are still very much supported, but are now marked as > deprecated. There are additional features (like multiple accounts) > that will require upgrading to the new > "android.provider.ContactsContract" APIs to access. For example, only > data from the primary account is exposed through the now-legacy > "android.provider.Contacts" APIs. > > j > > On Fri, Oct 30, 2009 at 11:40 AM, nEx.Software > > > > <[email protected]> wrote: > > > Hold up... I'm confused. Are you saying that Contacts portion of the > > SDK is deprecated? Whatever happened to "stick to the SDK because > > those are stable apis that won't break in future versions"? Very > > disappointing... > > > On Oct 30, 11:12 am, Jeff Sharkey <[email protected]> wrote: > >> Could you post the exact Uri you're passing to query()? As the > >> javadoc describes, you need to append a filter string to the > >> CONTENT_FILTER_URI so it knows what to filter on. > > >> Uri lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_URI, phoneNumber); > > >> Also, you might be able to skip your second step, since you can > >> directly ask for the PhoneLookup.DISPLAY_NAME column in the > >> projection. > > >> j > > >> On Fri, Oct 30, 2009 at 8:05 AM, agirardello > > >> <[email protected]> wrote: > > >> > Dear all, > > >> > I'm trying to adapt my application (Personalytics) for the brand new > >> > Android 2.0, however I'm facing an issue while accessing contacts' > >> > phone numbers... > > >> > What I need to do is to retrieve the name associated to a stored > >> > contact based on his/her phone number. At present I'm doing this in > >> > two steps: > >> > 1) from a phone number I get the corresponding ID of the stored > >> > contact (if present) > >> > 2) I retrieve the contact's name based on that ID > > >> > I managed to use the correct CONTENT_URI for reading contacts by using > >> > reflection to be fully compatible with Android 2.0 > >> > (ContactsContract.Contacts.CONTENT_URI) and the previous versions > >> > (People.CONTENT_URI). > > >> > Now I'm trying to do the same for Phones.CONTENT_URI (Android <= 1.6) > >> > and ContactsContract.PhoneLookup.CONTENT_FILTER_URI (Android = 2.0) > >> > which is needed by step 2) mentioned above. But as soon as I try to > >> > get a contentResolver by using > >> > ContactsContract.PhoneLookup.CONTENT_FILTER_URI I get the following > >> > exception: > > >> > java.lang.IllegalArgumentException: Unknown URL > >> > content://com.android.contacts/phone_lookup > > >> > This looks really strange to me, since it should be correct (it is > >> > part of the official API)! Moreover, I tried to look at the "API > >> > Demos" project, in particular to the classes: > > >> > com.example.android.apis.view.List2 > >> > com.example.android.apis.view.List3 > > >> > which are still using the deprecated People.CONTENT_URI and > >> > Phones.CONTENT_URI and thus no data (i.e. contacts) is loaded (of > >> > course I have sample contacts in the emulator). > > >> > - Do you have any suggestion to solve this problem? > >> > - Or is there another approach I can use to get the name of a contact > >> > based on one of his/her numbers? (This must work on all versions of > >> > Android) > > >> > Thank you!!!!!!!! ;-) > > >> > Andrea > > >> -- > >> Jeff Sharkey > >> [email protected] > > -- > Jeff Sharkey > [email protected] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

