2016-09-23 6 views
0

質問を使用して連絡先から電話番号と電子メールアドレスを取得します。以下は私の現在のコードです。しかし、現在のカーソルから電子メールを取得しない。ピックインテントを使用せずに定義された電子メールと電話番号を取得する

何が問題なのですか。

String NAME = "ABC"; 
    ContentResolver cr = getContentResolver(); 
    Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, 
      "DISPLAY_NAME = '" + NAME + "'", null, null); 

    if (cursor.moveToFirst()) { 
     String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
     String number = ""; 
     String email = ""; 

     Cursor cursor_pn_email = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, 
       ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null); 
     while (cursor_pn_email.moveToNext()) { 
      number = cursor_pn_email.getString(cursor_pn_email.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
      email = cursor_pn_email.getString(cursor_pn_email.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA1)); 

     } 
     cursor_pn_email.close(); 


    } 
    cursor.close(); 

答えて

0

私は電話カーソルを使用してメールを検索していました。以下は電子メールカーソルのコードです

 Cursor cursorEmail = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
       null, 
       ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", 
       new String[]{contactId}, 
       null); 
     if (cursorEmail.moveToFirst()) { 
      email = cursorEmail.getString(cursorEmail.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); 
     } 
関連する問題