Ich versuche, contactId von neu hinzugefügten Kontakt programmgesteuert zu erhalten. Kontakt wird erfolgreich hinzugefügt und ruft die contactID von ContentProviderResult [], aber contactId die ich bekomme, ist nicht die richtige. Ich habe auch gesehen this und this antwort aber contactId ist nicht die richtige. Hier ist mein CodeErhalten ContactId zum Zeitpunkt des Einfügens eines neuen Kontakts programmgesteuert zu Telefon in Android
ArrayList<ContentProviderOperation> contentProviderOperation = new ArrayList<>();
......
......
ContentProviderResult[] results = getActivity().getContentResolver().applyBatch(ContactsContract.AUTHORITY, contentProviderOperation);
long contactId = ContentUris.parseId(results[0].uri);
Ich habe auch versucht, den Code unten:
ContentProviderResult[] results = getActivity().getContentResolver().applyBatch(ContactsContract.AUTHORITY, contentProviderOperation);
Uri myContactUri = results[0].uri;
int lastSlash = myContactUri.toString().lastIndexOf("/");
int length = myContactUri.toString().length();
int contactID = Integer.parseInt((String) myContactUri.toString().subSequence(lastSlash+1, length));
Aber die ContactID Ich bin immer hier ist nicht die richtige. Bitte korrigieren Sie mich, wenn ich etwas falsch mache. Danke im Voraus.