2016-06-29 6 views
0

Я имею в виду, что я не хочу создавать свой собственный дизайн и вместо этого использовать встроенный дизайн и представление диспетчера контактов, который выглядит чистым.Как использовать встроенный менеджер контактов в моем приложении для просмотра контактов

+0

Я думаю, что это поможет вам: - http://stackoverflow.com/questions/9955783/how-do-i-open-contacts-when-i-click-a-button-defined-in- main-xml –

+0

Спасибо, он отлично работал. Но managedQuery устарел. Заменили его курсором c = getContentResolver(). query (contactsData, null, null, null, null)) ;. СЕЙЧАС БЕЗ ПРОБЛЕМ. – chandan

ответ

0

Вы можете установить событие на кнопки мыши, установив OnClickListener на кнопке со следующим кодом и использовать Намерение вызвать 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); 

     } 
    }); 

и onActivityResult() обработки контакта URI для загрузки подробности контакта.

@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; 
} 
}