J'ai un edittext et un bouton, je veux ouvrir les détails de contact sur le clic du bouton et l'utilisateur peut choisir un contact de lui. Ensuite je dois mettre le numéro de portable du contact choisi dans le edittext.Comment je fais ça? Mercicomment accéder aux détails de contact dans android
-1
A
Répondre
3
C'est très simple. D'abord, vous devez créer modifier le texte et le bouton, puis écrire le code suivant:
private EditText e;
private static final String DEBUG_TAG = "InviteActivity";
private static final int CONTACT_PICKER_RESULT = 1001;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
e=(EditText)findViewById(R.id.editText1);
}
public void doLaunchContactPicker(View view)
{
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
Contacts.CONTENT_URI);
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);
}
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data)
{
if(resultCode==RESULT_OK)
{
switch(requestCode)
{
case CONTACT_PICKER_RESULT:
Cursor cursor=null;
String phone="";
try
{ Uri result=data.getData();
String id=result.getLastPathSegment();
cursor=getContentResolver().query(Phone.CONTENT_URI,null, Phone.CONTACT_ID +"=?",new String[] {id},null);
int phoneIdx=cursor.getColumnIndex(Phone.NUMBER);
if(cursor.moveToFirst())
{
phone=cursor.getString(phoneIdx);
}
if(phone.equals(""))
{
Toast.makeText(getBaseContext(),"There is no phone number for that contac", Toast.LENGTH_LONG).show();
}
else
{
e.setText(phone);
}
}
catch(Exception e)
{
Toast.makeText(getBaseContext(),"There is no phone number for that contact", Toast.LENGTH_SHORT).show();
}
finally
{
if(cursor!=null)
{
cursor.close();
}//finally
break;
}//switch
}//if
else {
Log.w(DEBUG_TAG, "Warning: activity result not ok");
}
}//on activity result
}//class
Pour les propriétés des boutons donnent:
android:onClick="doLaunchContactPicker"
Ne pas oublier de donner utilisations-permisssions:
<uses-permission android:name="android.permission.READ_CONTACTS" />
si cette réponse est utile s'il vous plaît ne pas oublier d'accepter ..
son très bel exemple. ça marche pour moi. – Mihir