首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android从通话记录中获取联系人图片

以下是关于Android从通话记录中获取联系人图片的完善且全面的答案:

  1. 通话记录

通话记录是指手机中记录的电话通话记录,包括通话时间、通话时长、通话对象等信息。在Android系统中,通话记录可以通过读取系统的通话记录数据库来获取。

  1. 联系人图片

联系人图片是指与通话记录中的联系人相关联的图片,通常是联系人的头像。在Android系统中,联系人图片可以通过读取系统的联系人数据库来获取。

  1. 获取通话记录中的联系人图片

要获取通话记录中的联系人图片,可以使用Android系统提供的API来读取通话记录和联系人数据库。具体步骤如下:

  • 首先,需要在AndroidManifest.xml文件中申请读取通话记录和联系人的权限:<uses-permission android:name="android.permission.READ_CALL_LOG" /> <uses-permission android:name="android.permission.READ_CONTACTS" />
  • 然后,可以使用ContentResolver对象来查询通话记录和联系人数据库,获取通话记录中的联系人ID,并根据联系人ID查询联系人数据库获取联系人图片。

以下是示例代码:

代码语言:java
复制
ContentResolver contentResolver = getContentResolver();

// 查询通话记录数据库
Cursor callLogCursor = contentResolver.query(CallLog.Calls.CONTENT_URI, null, null, null, null);

// 遍历通话记录
while (callLogCursor.moveToNext()) {
    String contactId = callLogCursor.getString(callLogCursor.getColumnIndex(CallLog.Calls.CACHED_NAME));

    // 根据联系人ID查询联系人数据库
    Cursor contactCursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts._ID + "=?", new String[]{contactId}, null);

    // 遍历联系人
    while (contactCursor.moveToNext()) {
        String contactName = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
        String contactPhotoUri = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.Contacts.PHOTO_URI));

        // 获取联系人图片
        if (!TextUtils.isEmpty(contactPhotoUri)) {
            Uri photoUri = Uri.parse(contactPhotoUri);
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(contentResolver, photoUri);
        }
    }

    // 关闭联系人游标
    contactCursor.close();
}

// 关闭通话记录游标
callLogCursor.close();
  1. 推荐的腾讯云相关产品

腾讯云提供了以下相关产品,可以帮助开发者实现通话记录和联系人图片的获取:

  • 腾讯云即时通讯 IM:提供了即时通讯的服务,可以帮助开发者实现通话记录的存储和查询。
  • 腾讯云数据库:提供了数据库的托管服务,可以帮助开发者实现联系人数据的存储和查询。
  • 腾讯云存储:提供了存储的托管服务,可以帮助开发者实现联系人图片的存储和查询。

以上是关于Android从通话记录中获取联系人图片的完善且全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【权限问题专项】通讯录&通话记录权限合理VS不合理使用场景说明

下图为《绿标5.0安全标准》对于通讯录、通话记录的要求: 一. 通讯录 1)Android.permission.READ_CONTACTS 权限定义:允许应用获取用户通讯录数据。...,用来判断是否存储过联系人; 穿戴类:读取通讯录联系人列表,将选定的联系人同步到穿戴设备上;接听电话时需要通过来电号码读取对应联系人信息,将联系人信息推送到穿戴设备上。...2)Android.permission.GET_ACCOUNTS 权限定义:允许应用账户服务获取应用账户列表。...【注】 Android 6.0(API 级别 23)开始,如果应用共享管理帐户的身份验证器的签名,则无需"GET_ACCOUNTS"获得权限即可读取有关该帐户的信息。...通话记录 Android.permission.READ_CALL_LOG 权限定义:授权应用可以读取用户通话记录信息。

1.4K10

GravityRAT针对Android设备的间谍行为分析

在此期间,GravityRAT添加了很多新功能,尤其是文件渗透,远程命令执行,以及反VM技术,使其更难以检测,它可以非常快速地受感染计算机窃取大量数据,甚至可以扫描连接到受害设备的外部硬盘驱动器或USB...在用户的使用过程恶意服务获取用户通话记录信息、用户短信箱信息、用户联系人信息等,并将获取的用户联系人信息、短信箱信息、通话记录信息等保存到指定的文件当中,恶意程序以设备的状态触发恶意服务的条件,通过相应状态的广播触发恶意服务...用户安装后恶意服务获取用户通话记录信息、用户短信箱信息、用户联系人信息等,恶意程序以设备的状态为触发恶意服务的条件,通过相应状态的广播触发恶意服务,获取包含用户短信箱信息、用户联系人信息、用户通话记录信息等用户隐私文件...图4-15 断开电源发送广播启动恶意服务 4.3.2 恶意服务获取用户信息 恶意服务启动后获取联系人信息、用户通话记录信息、用户sd目录信息、用户短信信息。...1)恶意服务获取用户联系人信息: 图4-16 获取用户联系人信息 将获取联系人信息保存到cs.log当中: 图4-17 联系人信息保存到cs.log当中 2)恶意服务获取用户通话记录信息: 图4

37310

AnyMP4 Android Data Recovery安卓数据恢复软件,帮你恢复丢失数据

AnyMP4 Android Data Recovery Mac版是一款强大的安卓数据恢复软件,可以帮助你Android设备恢复已删除和丢失的文本内容,例如联系人,SMS,短信,通话记录,便笺,WhatsApp...下载:AnyMP4 Android Data Recovery Mac版 取回多个数据,例如从Android手机/平板电脑到Mac 像联系人/ SMS /照片/ WhatsApp /视频/音乐/通话记录...当您丢失一些仍然非常重要的重要Android数据时,无论数据是意外删除的文本内容(如联系人,消息,通话记录,消息附件)还是丢失的媒体文件(如照片,图片,视频),都不要惊慌,音乐,甚至是诸如WhatsApp...各种Android手机/平板电脑/ SD卡恢复数据 适用于Android的AnyMP4 Mac数据恢复与几乎所有的Android设备兼容,例如三星,HTC,LG,索尼,OnePlus,摩托罗拉,谷歌,...手机上的Android系统操作系统平板电脑和SD卡也将与此功能强大的数据恢复程序兼容。 预览数据并选择零件数据以进行恢复 相似图片太多了吗?

75010

FonePaw Android Data Recovery Mac版

下载:FonePaw Android Data Recovery Mac版 图片 取回多个数据,例如从Android手机/平板电脑到Mac 像联系人/ SMS /照片/ WhatsApp /视频/音乐.../通话记录/文档之类的数据很容易删除,并且手机有限的存储空间是无休止的需求。...当您丢失一些仍然非常重要的重要Android数据时,无论数据是意外删除的文本内容(如联系人,消息,通话记录,消息附件)还是丢失的媒体文件(如照片,图片,视频),都不要惊慌,音乐,甚至是诸如WhatsApp...各种Android手机/平板电脑/ SD卡恢复数据 适用于Android的AnyMP4 Mac数据恢复与几乎所有的Android设备兼容,例如三星,HTC,LG,索尼,OnePlus,摩托罗拉,谷歌,...此外,此Android数据恢复Mac软件将支持最新的Android版本8.0帮助您Samsung Galaxy S7 / S6,Samsung Galaxy Note 5,HTC 10,LG G5,Sony

73620

【业界】Facebook对收集用户通话和短信数据的言论作出了回应

上周,一名新西兰男子Dylan McKay正在浏览Facebook社交网站上下载的档案收集的数据。...在浏览Facebook存储的关于他的联系人信息时,Dylan McKay发现了一些令人不安的事情:Facebook也他的Android手机获得了大约两年的通话元数据,其中包括姓名、电话号码以及每次通话的时长...在Android和Facebook Lite设备的Messenger应用程序的最新版本,向用户提出了更明确的请求,以访问Android和Facebook Lite设备上的通话记录和短信日志。...(缓存归档生成一次,但未在第二个请求更新,但在删除所有联系人数据的请求两天后,联系人仍由联系人管理工具列出。) 与往常一样,如果你真的担心隐私问题,则不应与任何移动应用程序共享地址簿和通话记录数据。...如果他们不再希望使用这个功能,他们可以在设置关闭它,或者将所有以前共享的通话和文本历史记录通过该应用程序删除。虽然我们Android获得了一定的权限,但上传这些信息的过程一直都是选择性的。”

1.2K70

相机or相册获取图片并显示

; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory...; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore...Environment .getExternalStorageDirectory(), "test.png")); // 指定照片保存路径(SD卡),test.png为一个临时文件,每次拍照后这个图片都会被替换...Environment .getExternalStorageDirectory(), "test.png")); // 指定照片保存路径(SD卡),test.png为一个临时文件,每次拍照后这个图片都会被替换...使用保存文件之后再读取而不是直接用data的原因是,这里返回的data是一个缩略图,十分不清晰 if (requestCode == CAMERA_REQUEST_CODE) {// 将保存在本地的图片取出并缩小后显示在界面上

1.7K70

Android 图片获取显示照片拍摄时间

这个分为两种情况 1.添加照片时候 用相机拍摄的图片,这个当然直接取当时的时间就可以了,具体代码如下: //拍照 private void fromCarema(OnFilishedListener...null) { bitmapConfig = Bitmap.Config.ARGB_8888; } bitmap = bitmap.copy(bitmapConfig, true); // 获取可改变的位图...canvas.drawText(date, x - 10, bitmap.getHeight() - 10, paint); canvas.save(); return bitmap; } 2.如果是图库选择的照片...,我们需要先获取照片拍摄日期,然后再将日期画上去,代码如下: //图库选择 private void fromGallery(Intent data, OnFilishedListener listener...null) { bitmapConfig = Bitmap.Config.ARGB_8888; } bitmap = bitmap.copy(bitmapConfig, true); // 获取可改变的位图

1.1K20

Android如何获取视频首帧图片

Android获取视频首帧图片或第n秒的图片,供大家参考,具体内容如下 这里介绍如何获取视频首帧或者第n秒的图片并保存在本地,直接上代码: import android.graphics.Bitmap;...savedInstanceState); setContentView(R.layout.activity_main); imageView=(ImageView)findViewById(R.id.imageView);//获取布局管理器的...ImageView控件 button=(Button)findViewById(R.id.button);//获取布局管理器的Button控件 //设置按钮点击事件监听器 button.setOnClickListener...如果需要获取第n秒的图片,把getFrameAtTime()方法的数值改成n*1000就可以。...如需要获取视频第5秒图片,则把上面代码 Bitmap bitmap = mmr.getFrameAtTime(0); //0表示首帧图片 修改成 Bitmap bitmap = mmr.getFrameAtTime

1.6K10
领券