首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CallLog.Calls.CACHED_PHOTO_URI始终返回空

CallLog.Calls.CACHED_PHOTO_URI始终返回空
EN

Stack Overflow用户
提问于 2020-12-02 18:59:56
回答 1查看 119关注 0票数 0

我面临着非常关键的问题。我开发与通话记录相关的应用程序,但当我从内容提供商那里获得通话记录时,我无法找到CallLog.Calls.CACHED_PHOTO_URI。它总是返回空的。我使用的是VIVO 1917( Funtouch OS_10)

代码语言:javascript
复制
 public static void loadData(Context context) {
    mainList = new ArrayList<>();
    
    String projection[] = {"_id", CallLog.Calls.NUMBER, CallLog.Calls.DATE, CallLog.Calls.DURATION, CallLog.Calls.CACHED_PHOTO_URI, CallLog.Calls.TYPE, CallLog.Calls.CACHED_NAME};
    ContentResolver contentResolver = context.getApplicationContext().getContentResolver();
    Cursor cursor = contentResolver.query(CallLog.Calls.CONTENT_URI, projection, null, null, CallLog.Calls.DEFAULT_SORT_ORDER);

    if (cursor == null) {
        Log.d("CALLLOG", "cursor is null");
        return;
    }

    if (cursor.getCount() == 0) {
        Log.d("CALLLOG", "cursor size is 0");
        return;
    }

    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
        CallLogInfo callLogInfo = new CallLogInfo();
        callLogInfo.setName(cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_NAME)));
        callLogInfo.setNumber(cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER)));
        callLogInfo.setCallType(cursor.getString(cursor.getColumnIndex(CallLog.Calls.TYPE)));
        callLogInfo.setDate(cursor.getLong(cursor.getColumnIndex(CallLog.Calls.DATE)));
        callLogInfo.setDuration(cursor.getLong(cursor.getColumnIndex(CallLog.Calls.DURATION)));
        String ss = cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_PHOTO_URI));

        Log.e("TAG", "  recent calls " + ss);
        mainList.add(callLogInfo);
        cursor.moveToNext();
    }

    
    cursor.close();
}
EN

回答 1

Stack Overflow用户

发布于 2020-12-02 19:06:29

Documentation from Android

在API级别23中添加了

CACHED_PHOTO_URI

与电话号码关联的图片的缓存照片URI (如果存在)。

这个值通常是由拨号器应用程序出于缓存目的而填写的,因此不保证它存在,并且如果与此号码关联的联系信息已更改,则该值可能不是最新的。

这意味着,根据不同于制造商的拨号器应用程序,该值可能不存在。

你可能有更好的机会通过自己在联系人中查找号码/姓名,并通过这种方式获得图像。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65106751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档