Sto sviluppando un'app di tracciamento gps in Android. Ho finito con la visualizzazione della mappa n roba. Ora voglio fare un pulsante in cima al quale, quando si fa clic, si visualizzano i contatti, quindi quando seleziono il contatto dovrebbe mostrarmi la sua posizione. Per favore aiutatemi con questo. Grazie.come faccio ad aprire i contatti quando clicco su un pulsante definito in main.xml
risposta
È possibile impostare un evento sul pulsante click impostando un OnClickListener
sul pulsante con il seguente codice, e utilizzare l'intenzione di chiamare l'attività ContactPicker:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent= new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
}
});
e onActivityResult()
processo l'uri contatto per caricare i dettagli di contatto.
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (PICK_CONTACT) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
// TODO Fetch other Contact details as you want to use
}
}
break;
}
}
Si dovrebbe usare startActivityForResult
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
Vedi "get contact info from android contact picker" per ulteriori informazioni.
dove definisco questo codice ... –
+1 per l'utilizzo di 'ContactsContract.Contacts.CONTENT_URI' perché' Contacts.CONTENT_URI' è deprecato. – Darcy
provare questo codice
Intent intent = new Intent(Intent.ACTION_DEFAULT, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
Uso ACTION_DEFAULT
invece di ACTION_PICK
.
Buona fortuna.
Abbastanza sicuro che questa è la stessa domanda: http://stackoverflow.com/questions/4992564/open-device-contacts-list-at-button-click-event – NotACleverMan
grazie .. ma dove posso definisci quel codice –
http://stackoverflow.com/questions/9766263/getting-contact-number-using-content-provider-in-android/9883740#9883740 controlla questo ti aiuterà –