gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:54 24 4
gpt4 key购买 nike

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

这是获取联系人的代码。

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

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

有人可以指导我吗

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

enter image description here

提前致谢。

最佳答案

您需要计算出确切的 MIMETYPE您感兴趣的所有帐户,例如 Google+ 的 MIMETYPE是:vnd.android.cursor.item/vnd.googleplus.profile

你可以转储所有MIMETYPE s 用于联系人并手动找出您需要的联系人:

// make sure you import Data from: ContactsContract.Data
String[] projection = new String[] { Data.MIMETYPE };
String selection = Data.CONTACT_ID + " = '"+ contactId + "'";
Cursor cursor = getContentResolver().query(Data.CONTENT_URI, projection, selection, null, null);
DatabaseUtils.dumpCursor(cursor);
cursor.close();

一旦你有了 MIMETYPE 的固定列表如果需要,您可以在其中查询特定联系人的信息:

// Add more
String[] mimetypes = new String[] {
"vnd.android.cursor.item/vnd.googleplus.profile",
"vnd.android.cursor.item/vnd.com.whatsapp.profile"
};

// Usually the interesting info is on the first few fields, modify this if needed
String[] projection = new String[] { Data.DATA1, Data.DATA2, Data.DATA3, Data.DATA4 };
String selection = Data.CONTACT_ID + " = '"+ contactId + "' AND " + Data.MIMETYPE + " IN (?,?)";

Cursor cursor = getContentResolver().query(Data.CONTENT_URI, projection, selection, mimetypes, null);
DatabaseUtils.dumpCursor(cursor);
cursor.close();

更新:

对于 linkedin,mimetype 确实是:vnd.android.cursor.item/vnd.com.linkedin.android.profile .关于您关于没有配置文件网址的评论,在 Data1 中您应该有一些长 ID,例如 AC...UQ4 (约 40 个字符)。

那么你的网址是: https://www.linkedin.com/profile/view?id=<data1Id>喜欢:https://www.linkedin.com/profile/view?id=AC...UQ4

关于android - 如何从电话簿中获取与 android 中特定联系人相关联的所有社交帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46314462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com