Android - Suchen Sie einen Kontakt nach dem Anzeigenamen

8

Ich versuche, einen Kontakt nach dem Anzeigenamen zu finden. Das Ziel ist, diesen Kontakt zu öffnen und ihm mehr Daten hinzuzufügen (speziell mehr Telefonnummern), aber ich habe Mühe, den Kontakt zu finden, den ich aktualisieren möchte.

Dies ist der Code, den ich verwende:

%Vor%

Ich habe einen Kontakt namens "John Johnson", aber die Methode gibt immer "nicht gefunden" zurück. Ich habe auch versucht, nach einem Kontakt mit nur einem Namen zu suchen, das macht keinen Unterschied.

Ich vermute, dass etwas mit den Argumenten uri, selection oder selection nicht stimmt, weil ich online kein Beispiel für die Suche nach Kontakten mit einem bestimmten Anzeigenamen finden konnte, und es scheint, dass der Anzeigename eine besondere Art von Information ist zum Beispiel eine Telefonnummer.

Irgendwelche Ideen, wie ich erreichen kann John Johnson zu finden?

UPDATE: Ich habe herausgefunden, wie man einen Kontakt nach dem Anzeigenamen findet:

%Vor%

Dieser Code gibt die Kontakt-ID des ersten Kontakts mit dem Anzeigenamen "John Johnson" zurück. In meinem ursprünglichen Code hatte ich die falsche URL und die falsche Auswahl in meiner Abfrage.

    
Bjarte Aune Olsen 08.03.2012, 21:34
quelle

3 Antworten

1

Ich denke, das Problem kann durch die von Ihnen eingestellte Projektion verursacht werden. Projektion wird verwendet, um Android zu sagen, welche Spalte von Daten Sie abfragen möchten, und dann geben Sie nur die ID-Spalte an, damit der Anzeigename nicht zurückgegeben wird. Versuchen Sie, die Projektion zu entfernen, um zu sehen, ob sie funktioniert.

-- Cursor cursor = contentResolver.query(uri, projection, selection, selectionArguments, null);
++ Cursor cursor = contentResolver.query(uri, null, selection, selectionArguments, null);

    
Frank Cheng 09.03.2012 02:37
quelle
0
%Vor%     
Mosa Hasan 17.08.2014 17:20
quelle
0

Der folgende Code sollte den Trick machen

%Vor%

Referenz: Abrufen einer Liste von Kontaktartikeln

    
dhakadamit 19.07.2017 03:47
quelle