Autore Topic: Ricavare Nome e numero telefono presente in rubrica.  (Letto 1920 volte)

Offline Antroid_88

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Ubuntu 10.10
Ricavare Nome e numero telefono presente in rubrica.
« il: 08 Luglio 2011, 15:17:40 CEST »
0
Salve a tutti,

compilo questo topic per chiedervi gentilmente se avete degli esempi da cui potrei ricavare spunto per creare una Activity che mi visualizzi in una LISTVIEW il nome e il numero di telefono di tutti gli utenti che ho in rubrica.

Ho provato a cercare su internet ma ho trovato esempi che mi ricavano solo il nome dei contatti che ho in rubrica...

Grazie 1000 in anticipo,
Saluti. :-[

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Ricavare Nome e numero telefono presente in rubrica.
« Risposta #1 il: 08 Luglio 2011, 15:35:29 CEST »
+1
Per tirare fuori nome e numero basta che fai in questo modo:

Codice (Java): [Seleziona]
Cursor c = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[] { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC" );
Ricordati di inserire l'apposito permesso nel manifest.

Offline Antroid_88

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Ubuntu 10.10
Re:Ricavare Nome e numero telefono presente in rubrica.
« Risposta #2 il: 08 Luglio 2011, 15:46:43 CEST »
0
Molto chiaro e immediato come sempre Ricky.. ti ringrazio... ad ogni modo ho scritto questa Activity di esempio che utilizza il tuo codice:

Codice: [Seleziona]
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.widget.Toast;

public class Main extends Activity {
        public static final String TAG = "ContactManager";

    /**
     * Called when the activity is first created. Responsible for initializing the UI.
     */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        Log.v(TAG, "Activity State: onCreate()");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Cursor c = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[] { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC" );
        c.moveToFirst();
        do{
                Log.d("MainCode", c.getString(0) + " " + c.getString(1));
                Toast.makeText(getApplicationContext(), c.getString(0) + " " + c.getString(1), Toast.LENGTH_SHORT).show();
        }while(c.moveToNext());
    }
}

Fondamentale come da te sottolineato, aggiungere i permessi nel file manifest del progetto i permessi di accesso alla rubrica:
Codice: [Seleziona]
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Grazie ancora Ricky ;-)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Ricavare Nome e numero telefono presente in rubrica.
« Risposta #3 il: 08 Luglio 2011, 15:51:15 CEST »
+1
Il permesso da utilizzare dovrebbe essere:

Codice: [Seleziona]
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

Offline Antroid_88

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Ubuntu 10.10
Re:Ricavare Nome e numero telefono presente in rubrica.
« Risposta #4 il: 08 Luglio 2011, 15:52:46 CEST »
0
sorry Ricky hai ragione.......  :-X

Offline Salvo_morph

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Spica
  • Sistema operativo:
    Mac OS X 10.7.4
Re:Ricavare Nome e numero telefono presente in rubrica.
« Risposta #5 il: 10 Dicembre 2011, 11:26:24 CET »
0
E per recuperare le immagini dei contatti??

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
Re:Ricavare Nome e numero telefono presente in rubrica.
« Risposta #6 il: 10 Dicembre 2011, 13:07:01 CET »
0
Chiedo scusa se mi intrometto, ma per sapere a chi corrisponde un numero di telefono, invece, come dovrei fare?
Ho pensato di prendere tutti i numeri e poi ad uno ad uno sfogliarli e verificare quale fosse uguale a quello che possiedo...ma cosi' diventa troppo macchinoso, ed inoltre se il numero e' salvato senza +39 (esempio) mentre l'sms/chiamata arriva col +39 con questo metodo non potrei trovarlo... quindi? :)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Ricavare Nome e numero telefono presente in rubrica.
« Risposta #7 il: 10 Dicembre 2011, 19:39:03 CET »
+1
E per recuperare le immagini dei contatti??

Ricavare foto contatto rubrica - Android Developers Italia

Chiedo scusa se mi intrometto, ma per sapere a chi corrisponde un numero di telefono, invece, come dovrei fare?
Ho pensato di prendere tutti i numeri e poi ad uno ad uno sfogliarli e verificare quale fosse uguale a quello che possiedo...ma cosi' diventa troppo macchinoso, ed inoltre se il numero e' salvato senza +39 (esempio) mentre l'sms/chiamata arriva col +39 con questo metodo non potrei trovarlo... quindi? :)

How to look-up a contact's name from their phone number on Android? - Stack Overflow


Offline AngelMagli

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
Re:Ricavare Nome e numero telefono presente in rubrica.
« Risposta #8 il: 04 Marzo 2012, 20:37:33 CET »
0
Per tirare fuori nome e numero basta che fai in questo modo:

Codice (Java): [Seleziona]
Cursor c = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[] { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC" );
Ricordati di inserire l'apposito permesso nel manifest.
Ciao, io ho un problema, quando prendo il numero con questa istruzione, se al nome corrispondono più numeri(Ad esempio numero di casa e cellulare), mi prende un numero a caso. Come posso fare per prendere solo il numero di cellulare? oppure per dare la possibilità di scegliere?
Grazie per la risposta
Distinti Saluti
Angelo