0

このコードを使用して、連絡先名番号と電子メール ID にアクセスしようとしています。

import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;

public class GetAllDatas extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    readContacts();
}   

private void readContacts() {
    // TODO Auto-generated method stub

    ContentResolver cr = getContentResolver();
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
           null, null, null, null);
    if (cur.getCount() > 0) {
        while (cur.moveToNext()) {
            String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
            String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                System.out.println("name : " + name + ", ID : " + id);

                    // get the <span id="IL_AD1" class="IL_AD">phone number</span>


                Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
                                       ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
                                       new String[]{id}, null);
                while (pCur.moveToNext()) {
                      String phone = pCur.getString(
                             pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                      System.out.println("phone" + phone);
                }
                pCur.close();

                // get email and type


                Cursor emailCur = cr.query(
                         ContactsContract.CommonDataKinds.Email.CONTENT_URI,
                         null,
                         ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?",
                         new String[]{id}, null);
                 while (emailCur.moveToNext()) {
                     // This would allow you get several email addresses
                         // if the email addresses were stored in an array
                     String email = emailCur.getString(
                                   emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
                     String emailType = emailCur.getString(
                                   emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));

                   System.out.println("Email " + email + " Email Type : " + emailType);
                 }
                 emailCur.close();
            }
        }
    }

}
    }

このコードを実行すると、アクティビティに何も表示されません。

アクティビティ ウィンドウの連絡先リスト全体から、連絡先の名前、番号、および電子メール ID にアクセスする必要があります。

4

1 に答える 1