2013-12-05 4 views
2

У меня есть номер мобильного телефона, и я могу определить этот номер мобильного телефона с соответствующими контактами, но как заставить пользователя видеть контактные данные через контактное приложение по умолчанию в android.Показать контактную информацию, нажав на номер мобильного телефона

т.е.

Если он нажмет на номер мобильного телефона он должен принять его на страницу контактов в телефонной заявке.

Предположим, что если в телефонных контактах есть 999999999, после нажатия на него он должен забрать его на страницу контактов (по умолчанию по телефону).

Как этого добиться ...

ответ

2

Вы можете попытаться вызвать намерение с ACTION_VIEW, но вам потребуется идентификатор контакта перед рукой ...

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

Edit:

Чтобы получить идентификатор контакта с контактным номером:

public static int getContactIDFromNumber(String contactNumber,Context context) 
{ 
    contactNumber = Uri.encode(contactNumber); 
    int phoneContactID = new Random().nextInt(); 
    Cursor contactLookupCursor = context.getContentResolver().query(Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,Uri.contactNumber),new String[] {PhoneLookup.DISPLAY_NAME, PhoneLookup._ID}, null, null, null); 
     while(contactLookupCursor.moveToNext()){ 
      phoneContactID = contactLookupCursor.getInt(contactLookupCursor.getColumnIndexOrThrow(PhoneLookup._ID)); 
      } 
     contactLookupCursor.close(); 

    return phoneContactID; 
} 

Более подробную информацию о Контакт манипуляции, посмотрите на эту answer...

+0

как получить идентификатор контакта –

+0

я получаю ошибку здесь 'Uri.contactNumber' в 5-й строке кода –

+1

Понял .Deleted' Uri.' и это работает отлично –

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