-1
これは多くの回答が見つかって以来よくある質問ですが、まだ電話番号の取得に関する問題があります。1件の連絡先からすべての番号を取得する
PICK_CONTACTアクティビティから選択した1人の連絡先からすべての番号を取得したいとします。
ここでonActivityResult(から私のコードがある)私はすべての異なる番号を取得するためにループしばらく(phones.moveToNext())を期待
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (PICK_CONTACT) :
if (resultCode == Activity.RESULT_OK) {
ArrayList<String> allContacts = new ArrayList<String>();
Uri contactData = data.getData();
Cursor c = getContentResolver().query(contactData, null, null, null, null);
while (c.moveToNext()) {
String contact_id = c.getString(c.getColumnIndex(_ID));
String hasPhone =c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1")) {
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] { contact_id }, null);
while (phones.moveToNext())
{
String contactNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
allContacts.add(contactNumber);
break;
}
phones.close();
}
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
TXT_EmergencyContactNameProfile.setText(name);
}
}
break;
}
}
をブロック...しかし、無
感謝あなたは大いに前もって;)
あなたはあなたが得るものではなく、得られないものを書きました。あなたは今何を得ていますか? – MorZa
ねえ!まず、ありがとう!私は選んだ連絡先から最初の電話番号を取得するだけです。私はそれらをすべて取得したいと思います。 – GrayFox
まず最初に、私はループ内で何回チェックするかを確認するwhileループの電話番号をlogcatに出力しようとします(もちろん、選択した連絡先には複数の電話番号)。おそらく、あなたは "休憩"を削除する必要があります。 – MorZa