内部電話帳から連絡先とメールを取得する必要があるアプリを開発しています..
Googleで検索した後、phonenumとnameを取得するための次のコードが見つかりました。
Main.java
Cursor numcur = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,null, null);
if (numcur != null) {
while (numcur.moveToNext()) {
name = numcur.getString(numcur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
number = numcur.getString(numcur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
phonenumarray.add(number);
displaynamearray.add(name);
}
}
しかし、ここではメールIDを取得するために、以下のように別のカーソルを使用しています..
Cursor emailcur = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, null,null, null);
if (emailcur != null) {
while (emailcur.moveToNext()) {
email = emailcur.getString(emailcur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA1));
emailarray.add(email);
}
}
ここでは、contact2 のリストビューに値を追加するときに個別に値を取得しています。contact2 は contact7 メール ID を表示し、contact3 は contat5 メール ID を下の図に示すように表示しています。
それで、同じ連絡先の電話番号、メールIDを取得する方法を誰か助けてもらえますか..