2012-08-23 15 views
5

Per favore, è possibile scegliere tra i contatti solo con il numero di telefono/s utilizzando l'app di contatti di intento e predefinita?Intenzione per i contatti con il numero di telefono

Forse qualche modifica di questa (mostra selezione da tutti i contatti):

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(intent, CONTACT_PICKER_ID); 

risposta

7
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); 
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); 
startActivityForResult(intent, 1); 
3

È possibile aprire un cursore sui contatti e passare per ottenere i contatti con numeri di telefono. Si potrebbe ricreare l'attività di contatto selettore che viene mostrato dal intento lei ha citato utilizzare questo cursore (gettandoli in un listview cui scegliere)

 ContentResolver cr = getContentResolver(); 
     Cursor phoneCur = cr.query( 
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
       null, 
       null, 
       null, 
       null); 
     while (phoneCur.moveToNext()) { 
      String phone = phoneCur.getString(
         phoneCur.getColumnIndex(
           ContactsContract.CommonDataKinds.Phone.DATA)); 
      //do something, check if empty... 
     } 
     phoneCur.close(); 

con questo approccio sarà necessario anche il permesso di contatto lettura in voi manifestate

<uses-permission android:name="android.permission.READ_CONTACTS"/> 
+0

Non esattamente una soluzione che speravo. Ma immagino che non ci sia altro modo, vero? Quindi accetto questa risposta, grazie. –

+0

Scusa, non so in un altro modo, ma lo aggiornerò se trovo uno. –

Problemi correlati