我目前正在开发API 7+的Android应用程序。在此应用程序中,用户必须从手机中选择联系人。为此,我将他的联系人列表(照片+姓名)显示在应用程序中。
我可以毫无问题地检索联系人列表和照片,如果用户没有照片,我可以显示默认照片。
我唯一的问题是联系人的照片与Facebook同步。事实上,我的应用无法检索照片,并认为该联系人没有任何照片。
这里是我使用的代码:
public static final InputStream getContactPhoto(WeakReference<Activity> activity, long contactId)
{
final Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
final Uri photoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.CONTENT_DIRECTORY);
final Cursor cursor = activity.get().getContentResolver().query(photoUri, new String[] { Contacts.Photo.DATA15 }, null, null, null);
if (cursor == null)
{
return null;
}
try
{
if (cursor.moveToFirst() == true)
{
final byte[] data = cursor.getBlob(0);
if (data != null)
{
return new ByteArrayInputStream(data);
}
}
}
finally
{
cursor.close();
}
return null;
}
我应该在哪里要求照片检索照片来自哪里(联系方式,Facabook,Google +等)?
提前感谢您的答案和有关该主题的提示!