- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我从电话簿中获取了所有设备联系人。现在我想从电话簿中获取的特定联系人获取链接帐户(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 等)。
有人可以指导我吗
更新:在下面的附图中,单击以红色突出显示的部分,将在浏览器中打开用户配置文件中的链接。因此我愿意获取用于打开用户个人资料页面的字段。
提前致谢。
最佳答案
您需要计算出确切的 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/
我正在学习 Java 并尝试制作一个简单的电话簿。对于这一部分,我尝试提示用户选择以下 3 个选项之一。 public class PhoneBook { public static void
我正在尝试将联系人插入到 Android 联系人数据库中。找了几个教程(没看懂),基本上是从Android SDK的“ContactManager”示例代码中复制方法。 我使用此方法添加新的原始联系人
我试图在诺基亚 5130c-2 XpressMusic 上访问手机的电话簿和 SIM phonenook。 该应用程序运行时没有错误,但它只返回手机电话簿中的号码。当我使用此代码列出可用的电话簿时 S
我在布置家庭作业时遇到了麻烦,我们应该制作电话簿吗?条件是它应该看起来像这样: Class Phonebook { private List _phoneList; public
感谢您的大力支持。我得承认 C++ 很有趣而且非常了不起,但有时它会让人头疼。我一直在努力解决这个家庭作业。它快完成了,但我在尝试弄清楚如何使用二进制文件时遇到了一些困难。 问题如下: You hav
class Phone_book: #Please note that this line of code has no indentation, all other lines has at lea
这个问题已经有答案了: PHP parse/syntax errors; and how to solve them (20 个回答) 已关闭 7 年前。 我在 上收到错误线。 错误: Parse
我正在尝试实现一个线程安全的电话簿对象。电话簿应该可以添加一个人,并根据姓名和电话号码查找一个人。从实现的角度来看,这只涉及两个哈希表,一个关联名称 -> Person,另一个关联 phone# ->
我想在我的 AS3 应用程序中获取 iPhone 和 android 电话簿中的所有联系人。这在 as3 中如何完成? -提前致谢 最佳答案 您将需要使用 native 扩展。 检查这个: https
我是一名优秀的程序员,十分优秀!