【问题标题】:Android:Retrieving Image or Thumbnail from ContactsProvider for API level 10Android:从 API 级别 10 的 ContactsProvider 检索图像或缩略图
【发布时间】:2013-11-08 04:23:28
【问题描述】:

我想从 API 级别 10 及以上的 Android ContactsProvider 中检索完整尺寸的联系人图像。

据我了解,无法测试我是否使用 PHOTO_URI(API 级别 11)获得全尺寸照片,这似乎是使用 PHOTO_FILE_ID(API 级别 14)填充的。然后是 PHOTO_ID(API 级别 5)如果不回退到 PHOTO_URI 或 PHOTO_THUMBNAIL_URI(API 级别 11),则它可能包含对照片的引用。我使用 2.3.3(API 级别 10)。这一切都令人困惑和困惑。

我使用 DISPLAY_PHOTO(API 级别 14),保证给我一个空值或在 ICS 以下崩溃(尚未测试)。

我还了解到,无法检索来自与 ContactsProvider 同步的 3rd 方应用程序的某些图像,并且仅供 Android ContactsProvider 使用,这意味着用户可以在手机的“通讯录”应用中看到该图像,而不是在我的应用程序。

您可能知道的任何解决方案都可以帮助我始终获取完整大小的 API,而不是 API 级别 10 及更高级别的缩略图?

我至少可以检索 API 级别 10 的联系人缩略图吗?

【问题讨论】:

    标签: android android-contacts


    【解决方案1】:

    我在这篇文章中找到了一种方法,可以使用 ContactsContract API 获取 API 级别 5 及更高级别的缩略图,请查看here 了解更多信息:

        public static Bitmap loadContactPhoto(ContentResolver cr, long id) {
    Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
    InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
    if (input == null) {
         return getBitmapFromURL("http://thinkandroid.wordpress.com");
     }
    return BitmapFactory.decodeStream(input);
    } 
    

    【讨论】:

      猜你喜欢
      • 2011-09-19
      • 2012-06-02
      • 2015-03-04
      • 1970-01-01
      • 2012-01-22
      • 2018-06-19
      • 2015-02-05
      • 2022-11-13
      • 2014-03-28
      相关资源
      最近更新 更多