如何显示设备的主要联系人查看器显示与电话号码的一个联系人

如何显示设备的主要联系人查看器显示与电话号码的一个联系人

问题描述:

我正在编写一个应用程序,我需要向用户显示一个联系人。我有电话号码,我可以查询以获取联系详情。像这样:如何显示设备的主要联系人查看器显示与电话号码的一个联系人

ContentResolver cr = context.getContentResolver(); 
    Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, 
      Uri.encode(phoneNumber)); 
    Cursor cursor = cr.query(uri, 
      new String[]{ContactsContract.PhoneLookup.DISPLAY_NAME}, null, null, null); 
    if (cursor == null) { 
     return null; 
    } 
    String contactName = phoneNumber; 
    if (cursor.moveToFirst()) { 
     contactName = cursor.getString(cursor 
       .getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME)); 
    } 

但是我需要显示设备的主要联系人查看器,我不知道如何?

像这样:

enter image description here

+0

这是所有记录在这里:https://developer.android.com/guide/components/intents-common.html在章节“联系人/人的应用程序” –

+0

@MarcinOrlowski感谢您的回复。但不幸的是,我无法访问您的链接,也没有谷歌文件也在我的地区! – Beppe

+0

令人印象深刻。我发布了相关报价的回复。 –

这在Android官方文档的所有文档,Common Intents,章 “联系人/联系人应用”。

编辑

但遗憾的是我不能访问到你的链接,也不也是谷歌文件在我的领域!

我这里还有来自链接文档报价:

查看联系人

要为已知的接触显示详细信息,请使用ACTION_VIEW行动,并指定与内容的接触:如URI意图数据。

主要有两种方式,首先检索联系人的URI:

  • 使用由ACTION_PICK返回的接触URI,在上一节中显示(此方法不需要任何应用程序的权限)。
  • 直接访问所有联系人的列表,如检索联系人列表中所述(此方法需要READ_CONTACTS权限)。

实施例:

public void viewContact(Uri contactUri) { 
    Intent intent = new Intent(Intent.ACTION_VIEW, contactUri); 
    if (intent.resolveActivity(getPackageManager()) != null) { 
     startActivity(intent); 
    } 
} 

编辑现有的接触

要编辑已知的接触,使用ACTION_EDIT动作,指定与内容的接触:URI为意图数据,以及在ContactsContract.Intents.Insert中包含由常量指定的附加信息中的任何已知联系人信息。

主要有两种方式,首先检索联系人URI:

  • 使用由ACTION_PICK返回的接触URI,在上一节中显示(此方法不需要任何应用程序的权限)。

  • 直接访问所有联系人的列表,如检索联系人列表(此方法需要READ_CONTACTS权限)中所述。

注意:Extras - 一个或多个在ContactsContract.Intents.Insert中定义的附加项,以便您可以填充联系人详细信息的字段。

public void editContact(Uri contactUri, String email) { 
    Intent intent = new Intent(Intent.ACTION_EDIT); 
    intent.setData(contactUri); 
    intent.putExtra(Intents.Insert.EMAIL, email); 
    if (intent.resolveActivity(getPackageManager()) != null) { 
     startActivity(intent); 
    } 
} 

有关如何编辑联系人的更多信息,请阅读Modifying Contacts Using Intents

+0

谢谢@MarcinOrlowski。你是夜晚的灯光。 – Beppe