Abrir la lista de contactos del dispositivo en el evento de clic de botón
¿Cómo puedo abrir la lista de contactos del dispositivo Android en el evento de clic de botón.
- Cómo establecer un listener de onclick para un imagebutton en un alertdialog
- Cómo ejecutar "callOnClick ()" para Android API 8?
- ¿Cómo puedo inhabilitar todos los eventos táctiles en todos los niños de un ViewGroup?
- ListView expandir animación para elementos sólo funciona después del segundo clic
- Obtener la latitud y la longitud de un clic en el mapa en osmdroid
- Android.os.FileUriExposedException: file.jpg expuesto más allá de la aplicación a través de ClipData.Item.getUri ()
- OnClickListener en pestañas no funciona
- Evento de clic transferido a la siguiente Actividad iniciada
- Android: ¿Cómo harías que los botones no se pudieran hacer clic durante algún tiempo?
- Protección contra el spam onclick ()
- Animación de android imageview onClick
- Establecer determinado elemento en la vista de cuadrícula que no se puede hacer clic
- ¿Diferencia entre el evento OnClick () y OnClickListener?
Prueba este código ..
yourButton.setOnClickListener(new YouButtonEvent()); class YouButtonEventimplements OnClickListener{ @Override public void onClick(View v) { Intent it= new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); startActivityForResult(it, PICK_CONTACT); } }
Declare Algunas variables. Cree un método y maneje los eventos.
private static final int CONTACT_PICKER_RESULT = 1001; private static final String DEBUG_TAG = "Contact List"; private static final int RESULT_OK = -1; // a method to open your contact list private void openContactList() { Intent it = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); startActivityForResult(it, CONTACT_PICKER_RESULT); } // handle after selecting a contact from the list @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { switch (requestCode) { case CONTACT_PICKER_RESULT: // handle contact results Log.w(DEBUG_TAG, "Warning: activity result is ok!"); break; } } else { // gracefully handle failure Log.w(DEBUG_TAG, "Warning: activity result not ok"); } }
Puede utilizar este código fuente como referencia:
import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.provider.ContactsContract; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class Test1Activity extends Activity { private static final int PICK_CONTACT_REQUEST = 1; private static final int PICK_CONTACT = 0; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button pickContact = (Button) findViewById(R.id.button1); pickContact.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent i = new Intent(Intent.ACTION_INSERT_OR_EDIT); i.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE); startActivity(i); } }); } }
si u quiere recoger el contacto de su dispositivo entonces utilice este código.
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openContect(); dialog.dismiss(); }
y openContact() is:
private void openContect() { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); if (intent.resolveActivity(getPackageManager()) != null) { startActivityForResult(intent, REQUEST_SELECT_CONTACT); } }
y en su onActivityResult()
utilice esto:
if (requestCode==REQUEST_SELECT_CONTACT && resultCode == RESULT_OK && null != data){ Uri contactUri = data.getData(); //do what you want... }