Ich stecke mit einem Problem fest, bei dem einige Kontakte einen Ländercode enthalten, andere dagegen nicht.Entfernen der Ländervorwahl von der Telefonnummer
Ich habe Code zum Abrufen von Kontaktnummern, die in der Liste gespeichert werden. Die Liste sieht so aus:
[9999999999, 91-8888888888, 91-0000000000, 1111111111]
Jetzt möchte ich Ländercode von jenen Nummern entfernen, die es haben. Ich kann keinen Weg finden, das zu überprüfen.
Hier ist mein Code zum Abrufen von Kontakten:
ContentResolver cr = getApplicationContext().getContentResolver(); //Activity/Application android.content.Context
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, "UPPER(" + ContactsContract.Contacts.DISPLAY_NAME + ") ASC");
if(cursor.moveToFirst())
{
do
{
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
if(Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0)
{
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",new String[]{ id }, null);
while (pCur.moveToNext())
{
String contactName = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_PRIMARY));
String contactNumber = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
allContacts.add(contactName);
contactNumber = contactNumber.replaceAll("\\s+","");
allnumbers.add(contactNumber);
break;
}
pCur.close();
}
} while (cursor.moveToNext()) ;
}
}
Hier allnumbers
enthält die Nummer (wo einige mit ihnen Ländercode und andere nicht). Wie kann ich den Ländercode von denen entfernen, die ihn haben?
Jede Hilfe oder Schlüsselwörter zu suchen wird geschätzt, danke.
Zu wenig Info. Wo ist dein Code? – Seelenvirtuose
überprüfen Sie bitte bearbeiten –
Das Entfernen der Ländercodes, wenn es mehr als eins in der Datei gibt, macht die Telefonnummern bedeutungslos. Es wäre möglicherweise besser, einen Standard-Ländercode für Nummern anzugeben, die keinen haben. Zum Beispiel, in Nordamerika, nehmen Sie +1 an. –