package com.example.android.recipe026;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
public class Recipe026 extends Activity {
private static final String TAG = "Recipe026";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Cursor cursor;
cursor = managedQuery(
ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
while (cursor.moveToNext()) {
// コンタクトIDを取得
String contactId;
contactId = cursor.getString(
cursor.getColumnIndex(
ContactsContract.Contacts._ID));
Log.d(TAG, "id=" + contactId);
// 名前を取得
String name = cursor.getString(
cursor.getColumnIndex(
ContactsContract.Contacts.DISPLAY_NAME));
Log.d(TAG, "name=" + name);
// 電話番号が登録有無を取得
String hasPhone;
hasPhone = cursor.getString(
cursor.getColumnIndex(
ContactsContract.Contacts.HAS_PHONE_NUMBER));
// 電話番号が登録されている場合
if ("1".equals(hasPhone)) {
Cursor phones;
phones = managedQuery(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
// コンタクトIDを条件に検索
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = " + contactId,
null, null);
while (phones.moveToNext()) {
// 電話番号を取得
String phoneNumber;
phoneNumber = phones.getString(
phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.d(TAG, "phoneNumber=" + phoneNumber);
}
phones.close();
}
Cursor emails;
emails = managedQuery(
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
// コンタクトIDを条件に検索
ContactsContract.CommonDataKinds.Email.CONTACT_ID
+ " = " + contactId,
null, null);
while (emails.moveToNext()) {
// メールアドレスを取得
String email;
email = emails.getString(
emails.getColumnIndex(
ContactsContract.CommonDataKinds.Email.DATA1));
Log.d(TAG, "email=" + email);
}
emails.close();
}
cursor.close();
}
}