У меня есть этот метод для просмотра контактных телефонов в своем почтовом ящике:Как изменить номер телефона, чтобы назвать Android?
public ArrayList<String> fetchInboxNumbers() {
ArrayList<String> sms = new ArrayList<String>();
Uri uriSms = Uri.parse("content://sms/inbox");
Cursor cursor = getContentResolver().query(uriSms,
new String[] { "_id", "address", "date", "body" }, null, null, null);
cursor.moveToFirst();
while (cursor.moveToNext()) {
address = cursor.getString(1); // Displays phone number
Log.d("CONTACT", address);
sms.add(address); // + " " + body
}
Log.d("NAMES IN CALLLOG", sms.get(7));
return sms;
} // END FETCHINBOX
То, что я пытаюсь сделать, это изменить String address
его имя контакта.
От fetchContactNumbers()
и 'fetchContactNames() , how can I change
Адрес' до контактного лица?
Его важно понять, что fetchContactNumbers
и fetchContactNames()
выровнены, что означает, что контактное имя fetchContactNumbers().get(5)
является fetchContactNames(). Get (5) `.
В конце концов, fetchInboxNumbers()
заполняет пользовательский адаптер.
Этот метод возвращает список всех имен контактов:
public ArrayList<String> fetchContactNames() {
ArrayList<String> names = new ArrayList<String>();
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
null, null);
while (phones.moveToNext()) {
String name = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
names.add(name);
}
phones.close();
return names;
}
И этот метод перечисляет все телефонные номера:
public ArrayList<String> fetchContactNumbers() {
ArrayList<String> numbers = new ArrayList<String>();
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
null, null);
while (phones.moveToNext()) {
String phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
numbers.add(phoneNumber);
}
phones.close();
return numbers;
}
Это очень интересно, но как бы применить это в моем fetchInboxNumbers()? – SpicyWeenie
Не знаю, зачем вам нужен метод 'fetchInboxNumbers', потому что у вас уже есть номер из' smsuri'. Итак, все, что вам нужно, это написать метод, который принимает параметр «номер телефона» в качестве параметра и возвращает «displayName», как описано выше. – Chandra
fetchInboxNumbers получает список контактов, который отправил мне SMS-сообщение. Если я смогу реализовать свой метод выше, он должен превратить все телефонные номера в мой почтовый ящик в имена контактов. Проблема, которую я вижу, заменяет новые String [] {"_id", "address", "date", "body"} из моего метода с новым String [] {Phone._ID, Phone.DISPLAY_NAME} – SpicyWeenie