2012-03-08 2 views
4

Я использую API ContactsContract для Android, чтобы получить список контактов. Он работает нормально.Android. Открытие контакта с помощью contact_id или contact_name

Теперь я хочу, чтобы при щелчке по имени в этом списке было создано намерение, которое откроет контакт в диспетчере контактов Android.

The following code crashes the app: 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse(ContactsContract.Contacts.CONTENT_URI + "/" + ContactsContract.Contacts._ID)); 

любезно помочь мне здесь с этим намерением

ответ

12

Это должно показать окно контактов «карты» в андроида менеджер контактов

Intent intent = new Intent(Intent.ACTION_VIEW); 
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactID)); 
intent.setData(uri); 
context.startActivity(intent); 
+0

совершенной. спасибо – user1017724

+0

Рад, что я мог бы помочь! – Soham

+4

Я бы предложил использовать 'intent.setDataAndType (uri," vnd.android.cursor.dir/contact ")' - если для показа контакта есть несколько приложений, то пользователь увидит диалог выбора с списком приложений. Если вы используете 'intent.setData (uri)', то выбор не будет показан. – dvpublic

Смежные вопросы