Pytam kontakty z wbudowanego identyfikatora URI dostawcy kontaktów w systemie Android. Chcę uzyskać tylko kontakty PHONE; czy istnieje jakiś spójny sposób na zrobienie tego? Wygląda na to, że nazwa konta dla kontaktów telefonicznych różni się od producenta do producenta (patrz this question). Czy istnieje sposób na uzyskanie kontaktów PHONE (nie SIM, Facebook, Twitter lub innych) w spójny, niezawodny, niezależny od producenta i urządzenia sposób?W Androidzie, w jaki sposób wybierasz tylko kontakty TELEFON?
Odpowiedz
Cursor cursor = null;
try {
String selection = ContactsContract.Data._ID + " = ?";
String[] selectionArgs = new String[] { id };
String[] projection = new String[] { ContactsContract.PhoneLookup.NUMBER};
cursor = getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI,
projection, selection, selectionArgs, null);
if (cursor == null || !cursor.moveToFirst())
return;
String phone = cursor.getString(0);
} finally {
if (cursor != null && !cursor.isClosed())
try {
cursor.close();
} catch (Throwable ignore) {
// Ignored.
}
}
Gdzie "?" to ID użytkownika, możesz umieścić ten kod w pętli.
Jeśli nie błędnie przeczytam tego kodu, czy nie znajdę w nim tylko wszystkich kontaktów z dowolnego źródła (telefonu, karty SIM, Facebooka, Twittera itd.), Ale tylko z tych, którzy mają numery telefonów? Chcę znaleźć TYLKO kontakty z telefonu, niezależnie od tego, czy mają numer telefonu, czy nie. – eidylon
Masz rację, źle zrozumiałem twoje pytanie. Myślałem, że próbujesz uzyskać numer telefonu konkretnego użytkownika (ID). Postaram się znaleźć dla ciebie odpowiedź. Przepraszam za to. – vsm
Nie ma problemu, dzięki za wysiłek! :) – eidylon
- 1. Jak zdobyć kontakty telefoniczne w Androidzie
- 2. Jak uzyskać kontakty z grupy Whatsapp w Androidzie?
- 3. Czy można uzyskać kontakty z mojego konta Skype w Androidzie?
- 4. Fetch Kontakty w Android
- 5. Kontakty Google tylko do odczytu (OAuth 2.0)
- 6. W jaki sposób zaimplementować reklamę mediacyjną w Androidzie?
- 7. Jak uzyskać zadanie, które korzysta z Kontakty synchronizacji? A w jaki sposób używasz SynchronizationContext?
- 8. Na Androidzie, w jaki sposób programowo zmieniasz aktywność?
- 9. jak wyświetlić kontakty w widoku listy w Androidzie dla Androida api 11+
- 10. iPhone/iOS: W jaki sposób określić lokalizację Telefon działa w środowisku wykonawczym?
- 11. Awaria aplikacji na telefon iPhone (tylko iOS4)
- 12. TableView podobnie jak aplikacja Kontakty w iPhonie
- 13. w jaki sposób można automatycznie formatować numer telefonu wprowadzając tekst edycji w Androidzie
- 14. W jaki sposób maven kompiluje tylko zmodyfikowane pliki java?
- 15. w jaki sposób repozytorium danych źródłowych spring rescue tylko aktualizować
- 16. W jaki sposób łączenie LINQ może wybrać tylko pierwszy rekord?
- 17. W jaki sposób protobuf-net obsługuje tylko pola readonly?
- 18. W jaki sposób aktualizujesz tylko pakiety NuGet o określonych identyfikatorach?
- 19. Jaki jest najlepszy sposób dopasowania tylko liter w wyrażeniu regularnym?
- 20. W jaki sposób środowisko Eclipse kompiluje klasy tylko z JRE?
- 21. W jaki sposób można odblokować pakiety, używając tylko stosu?
- 22. UISearchBar zabarwiony jak Kontakty
- 23. Prawidłowy sposób implementacji SlidingDrawer w Androidzie
- 24. Nagrywaj tylko głos rozmówcy w Androidzie
- 25. Jaki jest najlepszy sposób rejestrowania błędów/zdarzeń w aplikacji na telefon iPhone?
- 26. W jaki sposób podpisujemy aplikację na telefon iPhone przy użyciu programu innej firmy?
- 27. jaki jest pożytek z MemoryFile w Androidzie
- 28. Jak tylko aktualizować kontakty zamiast dodawać do adaptera synchronizacji
- 29. Jak uzyskać pełną nazwę Kontakty w Swift
- 30. W jaki sposób `({...})` zwraca wartość?
Czy chcesz uzyskać wszystkie kontakty z numerem telefonu? Czy masz na myśli wszystkie kontakty zaimportowane z karty SIM? – michaelg
Szukałem wszystkich kontaktów, które były przechowywane w książce adresowej "na telefon", bez względu na to, czy mają numery telefonów, wiadomości e-mail lub inne. Myślałem, że mogę to zrobić, dołączając moje zapytanie do tabeli 'accounts' i szukając nazwy konta' vnd.sec.contact.phone', ale czytając online, wygląda na to, że nazwa konta jest producentem (i prawdopodobnie urządzeniem?) konkretny. – eidylon