0

連絡先情報を表示しようとしていますが、stackOverflowの別の質問から、次のスニペットがあります

String[] projection = new String[] {
        ContactsContract.Contacts.DISPLAY_NAME,
        ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
        ContactsContract.CommonDataKinds.Email.DISPLAY_NAME
     };

    Uri contacts =  ContactsContract.Contacts.CONTENT_LOOKUP_URI;
    //id of the Contact to return.
    long id = 3;

    //Make the query. 
    Cursor managedCursor = managedQuery(contacts,
                                        projection, // Which columns to return 
                                        null,       // Which rows to return (all rows)
                // Selection arguments (with a given ID)
                                        ContactsContract.Contacts._ID = "id", 
                // Put the results in ascending order by name
                                        ContactsContract.Contacts.DISPLAY_NAME + " ASC");

managedQueryは2.2で変更されたようです(これを取得した元の質問は2.0を参照していたと思います)

2.2で何が変わったのですか?連絡先のメールアドレスや電話番号などを表示する方法が見つかりません

編集:これは私がAndroidのデバッグログから見つけることができるすべてです

08-24 20:49:51.893: ERROR/DatabaseUtils(519): Writing exception to parcel
08-24 20:49:51.893: ERROR/DatabaseUtils(519): java.lang.IllegalArgumentException: URI: content://com.android.contacts/contacts/lookup, calling user: com.example.android.contactmanager, calling package:com.example.android.contactmanager
08-24 20:49:51.893: ERROR/DatabaseUtils(519):     at com.android.providers.contacts.LegacyApiSupport.query(LegacyApiSupport.java:1911)
08-24 20:49:51.893: ERROR/DatabaseUtils(519):     at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4697)
08-24 20:49:51.893: ERROR/DatabaseUtils(519):     at android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:150)
08-24 20:49:51.893: ERROR/DatabaseUtils(519):     at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:111)
08-24 20:49:51.893: ERROR/DatabaseUtils(519):     at android.os.Binder.execTransact(Binder.java:288)
08-24 20:49:51.893: ERROR/DatabaseUtils(519):     at dalvik.system.NativeStart.run(Native Method)
4

1 に答える 1

1

何をするのかわかりませんContacts.CONTENT_LOOKUP_URIが、を使用していRawContacts.CONTENT_URIます。

だから、試してみるUri contacts = ContactsContract.RawContacts.CONTENT_URIUri contacts = ContactsContract.Contacts.CONTENT_URI、うまくいくはずです。

selectionArgsまた、(3番目の引数)を指定しなかった場合は、(4番目の引数)を残します。これはselection、aが指定された場合にのみ意味をなすためselectionです。

于 2010-08-28T12:29:19.767 に答える