1

ユーザーが連絡先ピッカーで連絡先を選択したときに電話番号を取得する方法を見つけるために、私は多くのことを調べてきました。連絡先ピッカーを開く方法を知っています。しかし、電話番号を取得する方法ではありません。

私はこれらの例を試しました:

http://mobile.tutsplus.com/tutorials/android/android-essentials-using-the-contact-picker/
http://www.enkeladress.com/article.php/android_snippen_show_contact_picker

そして、多くのスタックオーバーフロースレッドがありますが、Phoneクラスは非推奨になっているようです。それで、どうすればそれを行うことができますか?

前もって感謝します!

(英語が下手で本当に申し訳ありません!ご理解いただければ幸いです!)

4

1 に答える 1

2

これは私にとってはうまくいきました。

Uri contactData = data.getData();
Cursor c =  main.managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
    String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
}

Cursor c1 = mcontext.getContentResolver().query(Data.CONTENT_URI,
    new String[] {Data._ID, Phone.NUMBER, Phone.TYPE, Phone.LABEL},
    Data.CONTACT_ID + "=?" + " AND "
    + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'",
    new String[] {String.valueOf(contactId)}, null);
c1.moveToFirst();
String number = c1.getString(1);

Googleのドキュメントからクエリを取得しました。上記のクエリの位置であるため、位置 1 で文字列を取得します。
http://developer.android.com/reference/android/provider/ContactsContract.Data.html

于 2012-09-02T09:37:51.373 に答える