标签: android-contacts

如何在Android中获取联系人的groupId/GroupName?

我有Android设备中的联系人列表.我想获取所有联系人的关联groupIds和GroupName.我一直在尝试使用ContactsContract.Groups._ID来获取ID,但我无法得到它.有人可以通过其他方式获取联系人的groupID吗?

android contacts android-contacts

6
推荐指数
1
解决办法
3009
查看次数

从Android内置电话簿获取电子邮件ID和名称?

我正在尝试将Android内置电话簿中的名称和电子邮件ID添加到我的页面中,我可以获取姓名,联系人ID,电话号码.但是我无法从Android电话簿中获取电子邮件ID.

代码是:

 public static final int PICK_CONTACT = 1;
 @Override
 button.setOnClickListener(new OnClickListener() {
 public void onClick(View _view) {
 Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
 startActivityForResult(intent, PICK_CONTACT);  
   } 
 });
}

@Override 
public void onActivityResult(int reqCode, int resCode, Intent data) 
{
 super.onActivityResult(reqCode, resCode, data);

switch(reqCode) {
  case (PICK_CONTACT) : {
    if (resCode == Activity.RESULT_OK) {
      Uri contactData = data.getData();
      Cursor c = managedQuery(contactData, null, null, null, null);
      c.moveToFirst();
      String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
      String name1 = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.HAS_PHONE_NUMBER));
      String ContactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));

   if(Integer.parseInt(name1) == 1){ …
Run Code Online (Sandbox Code Playgroud)

android contacts android-contacts

6
推荐指数
1
解决办法
3076
查看次数

带Checkbox的Android联系人选择器

关于同一主题有很多讨论,但在这里花了4个小时后,我找不到有效的描述或链接与Checkbox建立联系人选择器.

我有一个活动DONE按钮,并listviewcheckbox.我已设法正确显示联系人.现在我想以bundle(我认为最好的方式)返回选定的联系电话号码,以便我可以获得数字列表onActivityResult().我不确定我跟随的方式是对还是不对.

这是我的代码:

public class ContactPickerMulti extends ListActivity implements OnClickListener {

    // List variables
    public String[] Contacts = {};
    public int[] to = {};
    public ListView myListView;

    Button save_button;
    private TextView phone;
    private String phoneNumber;
    private Cursor cursor;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contacts_multi);

        // Initializing the buttons according to their ID
        save_button = (Button) findViewById(R.id.contact_done);

        // Defines listeners for the buttons
        save_button.setOnClickListener(this);

        Cursor mCursor = getContacts();
        startManagingCursor(mCursor); …
Run Code Online (Sandbox Code Playgroud)

android android-contacts

6
推荐指数
1
解决办法
7338
查看次数

如何从android中选择独特的联系人

我想从Android只选择具有电话号码的联系人的唯一联系人.我正在使用此代码

ContentResolver cr = getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
                null, null, ContactsContract.Contacts.DISPLAY_NAME);
        // Find the ListView resource.
        mainListView = (ListView) findViewById(R.id.mainListView);

        // When item is tapped, toggle checked properties of CheckBox and
        // Planet.
        mainListView
                .setOnItemClickListener(new AdapterView.OnItemClickListener()
                {
                    public void onItemClick(AdapterView<?> parent, View item,
                            int position, long id)
                    {
                        ContactsList planet = listAdapter.getItem(position);
                        planet.toggleChecked();
                        PlanetViewHolder viewHolder = (PlanetViewHolder) item
                                .getTag();
                        viewHolder.getCheckBox().setChecked(planet.isChecked());
                    }
                });

        // Create and populate planets.
        planets = (ContactsList[]) getLastNonConfigurationInstance();
        // planets = new Planet[10]; …
Run Code Online (Sandbox Code Playgroud)

android contacts android-contentprovider android-contacts android-cursor

6
推荐指数
1
解决办法
7385
查看次数

使用过滤器打开联系人选取器

可以轻松打开Android联系人应用程序以显示所有联系人并选择其中一个:

在活动中:

    private int PICK_CONTACT = 853456;

    // ...

    // open contact list
    void openContactPicker() {
        Intent it= new Intent(Intent.ACTION_PICK,  Contacts.CONTENT_URI);
        startActivityForResult(it, PICK_CONTACT);
    }

    // when back from intent: use pick result
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // ...
        switch (requestCode) {
        case PICK_CONTACT:
            if (dataOk(data)) {
                extractContactInfo(data);
            } else {
                showErrorMessage();
            }
            break;
        // ...
    }
Run Code Online (Sandbox Code Playgroud)

但是是否可以设置一些过滤条件,以便联系应用程序只显示那些具有指定元素的联系人 - 例如完整的邮政信息,或正确的电子邮件或电话号码?

我的应用程序需要邮政信息,当前实现的工作流程是这样的:

  • 用户单击按钮以打开联系人
  • 联系应用程序已启动,显示所有联系人
  • 用户选择一个
  • 回到我的活动中,检查联系人
    • 邮政信息 - >做正确的事
    • 邮政信息不可用 - >消息框

由于许多联系人没有邮政信息,因此在大多数情况下会显示一个消息框"抱歉没有可用于此联系人的邮政信息".这不是一种可接受的行为.

一种替代方案是 - 我只是实现这一点 …

android android-contacts start-activity

6
推荐指数
1
解决办法
1112
查看次数

获取android联系人详细信息非常慢

我的应用程序有一个由设备上注册的联系人填充的 listView,但是当我加载 listView 时,它花费的时间太长了!这是我的代码:

public List<Contact> getContactsList(Context context, ContentResolver contentResolver) {

    List<Contact> listContatos = new ArrayList<Contact>();
    Uri uri = ContactsContract.Contacts.CONTENT_URI;

    Cursor cursorContacts = contentResolver.query(uri, null, null, null, ContactsContract.Contacts.DISPLAY_NAME + " COLLATE NOCASE ASC;");
    try {
        // while there is a next contact, retrieves your data
        while (cursorContacts.moveToNext()) {

            Contact c = getContact(context, cursorContacts);

            if (c != null) {
                listContatos.add(c);
            }
        }
    } finally {

        // Closes Cursor
        cursorContacts.close();
    }
    return listContatos;
}





public Contact getContact(Context context, Cursor contactsCur) {

    Contact …
Run Code Online (Sandbox Code Playgroud)

performance sdk android contactscontract android-contacts

6
推荐指数
2
解决办法
9494
查看次数

Android QuickContactBadge,包含Android Lollipop等字母

我有一个联系人列表,我想在每个联系人的QuickContactBadge中显示他的名字的第一个字母.我可以在运行时创建图像吗?

这就像Android Lollipop,其中联系人和拨号器使用带字母的QuickContactBadge:

Android Lollipop截图

android listview image list android-contacts

6
推荐指数
1
解决办法
2071
查看次数

如何添加到联系人的新联系人时,如何添加类似whatsapp的选项

我开发了一个需要做两件事的应用程序:

  • 创建一个用户帐户(如WhatsApp).
  • 每当有新的联系人条目时,如果联系人正在使用我的应用程序,则立即在联系人应用程序中显示联系人详细信息页面中的"呼叫"或"消息"选项.

android android-syncadapter android-contacts android-account android-contact-mimetype

6
推荐指数
1
解决办法
3571
查看次数

如何从电话簿获取与android中特定联系人链接的所有社交帐户?

我从电话簿中获取了所有设备联系人.现在我想从电话簿中获取的特定联系人获取链接帐户(facebook,twitter,instagram,LinkedIn).我该怎么办?

这是获取联系人的代码.

public Cursor getContactsCursor(FragmentActivity activity) {
        Cursor cursor = null;
        try {
            String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + "= 0" + " OR " + ContactsContract.Contacts.IN_VISIBLE_GROUP + "= 1";
            String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
            ContentResolver cr = activity.getContentResolver();
            return cr.query(ContactsContract.Contacts.CONTENT_URI, null, selection, null, sortOrder);
        } catch (Exception e) {
            AppLogger.e(Helper.class.getSimpleName(), e.getMessage());
            return cursor;
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我不知道如何获取与特定联系人链接的帐户(如facebook,linkedin等).

有人可以指导我.

更新: 在下面附加的图像中,单击红色突出显示的部分,在浏览器中打开链接的用户配置文件.因此,我愿意获取用于打开用户个人资料页面的字段.

在此输入图像描述

提前致谢.

twitter android facebook linkedin android-contacts

6
推荐指数
1
解决办法
542
查看次数

如何从 onItemClicklistener 上的联系人 ListView 获取电话号码

我已经创建了一个有效的联系人列表,但是当我单击任何联系人时,我只能从 ListView 获得 Android 屏幕上第 1 个项目的联系人编号。

我想获得该职位点击联系人的电话号码。我在网上到处搜索,但没有得到任何解决方案,我试图解决这个问题过去 13 天,但我仍然无法解决这个问题,如果有人能解决这个问题,请回答。感谢兄弟/姐妹的帮助!


li.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

TextView txtNummber = li.findViewById(android.R.id.text2)
}
});
Run Code Online (Sandbox Code Playgroud)

java android android-contacts

6
推荐指数
1
解决办法
166
查看次数