`

[整理] 操作通话记录(一)

阅读更多

 

/*

*为了方便后面页面的封装,这里定义了一个实体类

*/

public class Call {

    private Bitmap img;

    private String telName;

    private String telNo;

    private String telDate;

    private String telTime;

    private String simpleTime;

    private int type;

    private String longTime;

 

getset......

}

 

/*

*获取所有的通话记录

*/

public List<Call> getCallList() {

        List<Call> list = new ArrayList<Call>();

        int type;

        Date date; //日期

        String time = "";//通话时间

        String telName = "";//姓名

        String telNo = "";//电话号码

 

        ContentResolver cr = getContentResolver();

        final Cursor cursor = cr.query(CallLog.Calls.CONTENT_URI, new String[] {

                CallLog.Calls.NUMBER, CallLog.Calls.CACHED_NAME,

                CallLog.Calls.TYPE, CallLog.Calls.DATE,CallLog.Calls.DURATION }, null, null,

                CallLog.Calls.DEFAULT_SORT_ORDER);

        for (int i = 0; i < cursor.getCount(); i++) {

            Call call = new Call();

            cursor.moveToPosition(i);

            telName = cursor.getString(1);

            telNo = cursor.getString(0);

            type = cursor.getInt(2);

            SimpleDateFormat sfd = new SimpleDateFormat("HH:mm:ss");

            SimpleDateFormat sfd2 = new SimpleDateFormat("yyyy-MM-dd");

            date = new Date(Long.parseLong(cursor.getString(3)));

            time = sfd.format(date);

            call.setLongTime(formatDuring(Long.valueOf(cursor.getString(4)));

           

            String callDate = getdays(Long.parseLong(cursor.getString(3)));

            String x = getContactIDFromPhoneNum(telNo);

            byte[] kk = getPhoto(x);//联系人头像

            if (kk != null) {

                img = BitmapFactory.decodeByteArray(kk, 0, kk.length);

                call.setImg(img);

            }

            Manager.addList(img, telName, telNo, callDate, time,

                    sfd2.format(date), type);

            call.setTelName(telName);

            call.setTelNo(telNo);

            call.setType(type);

            call.setTelDate(callDate);

            call.setTelTime(time);

            if (CallLog.Calls.INCOMING_TYPE == type) {//已接来电

                call.setType(0);

            } else if (CallLog.Calls.OUTGOING_TYPE == type) {//已拨

                call.setType(1);

            } else if (CallLog.Calls.MISSED_TYPE == type) {//未接来电

                call.setType(-1);

            }  

            list.add(call);

        }

return list;

    }

 

/*

*删除记录

*/

    public void deleteLog(String phoneNumber){

           String strUriInbox = "content://call_log/calls";  

           Uri uriCall = Uri.parse(strUriInbox);  

         Cursor c = getContentResolver().query(uriCall,  

                    new String[] { "_id", "number", "date" }, null, null, null); 

            if (c != null && c.moveToFirst()) {  

                    String num = c.getString(1);  

                    String id = c.getString(0);  

                    if (num != null &&phoneNumber!=null&& num.equals(phoneNumber)) {  

                        getContentResolver().delete(uriCall, "_id=" + id, null);  

                    }  

                c.close();   }

}

 

 

 

以下代码源自互联网,由于众多网络转载的原因,未找到原作者,请原作者见谅

 

/*

*获取联系人头像

*/

public byte[] getPhoto(String people_id) {

        Cursor cur1 = null;

        String photo_id = null;

        String[] projection1 = new String[] {

        ContactsContract.Contacts.PHOTO_ID

        };

        if (people_id != null && !"".equals(people_id)) {

            String selection1 = ContactsContract.Contacts._ID + " = "

                    + people_id;

            try {

                cur1 = getContentResolver().query(

                        ContactsContract.Contacts.CONTENT_URI, projection1,

                        selection1, null, null);

            } catch (Exception e) {

            }

            if (cur1.getCount() > 0) {

                cur1.moveToFirst();

                photo_id = cur1.getString(0);

            }

            String[] projection = new String[] {

            ContactsContract.Data.DATA15

            };

            String selection = "ContactsContract.Data._ID = " + photo_id;

            Cursor cur = getContentResolver().query(

                    ContactsContract.Data.CONTENT_URI, projection, selection,

                    null, null);

            cur.moveToFirst();

            if (cur.getCount() < 0 || cur.getCount() == 0) {

                return null;

            }

            byte[] contactIcon = cur.getBlob(0);

            if (contactIcon == null) {

                return null;

            } else {

                return contactIcon;

            }

        } else {

            return null;

        }

    }

 

  • 大小: 11.8 KB
分享到:
评论

相关推荐

    thjl.zip_15834650434_通话记录

    【标题】"thjl.zip_15834650434_通话记录" 涉及的是一款手机通话记录管理应用,该应用具备高级的管理功能,特别是其折叠和分组特性,这对于整理和查找大量通话记录非常有用。 在IT行业中,通话记录管理软件通常用于...

    手机通话记录智能处理APP软件设计.pdf

    本文主要探讨了一款基于手机通话记录智能处理的APP软件设计,旨在帮助用户更有效地管理和整理通话记录,以适应现代社会快节奏的需求。随着智能手机的广泛使用,通话记录数据日益庞大,然而大部分用户缺乏时间和技巧...

    崔记录音整理唐信版.zip

    另一方面,“崔记录音整理唐信版.mp4”可能是一个操作教程或者软件演示视频,帮助用户了解如何使用这款工具,包括安装步骤、功能演示以及常见问题解答等内容。 总结起来,这款名为“崔录音整理唐信版”的工具,通过...

    清除缓存等

    "清除缓存等"这一主题涵盖了对缓存、通话记录和短信记录的管理,旨在提供一个小型的演示项目,供学习者参考。 首先,我们要理解缓存的原理。缓存是一种存储技术,它能存储最近访问的数据以便快速重用。当应用程序...

    安卓手机通讯录

    再者,通话记录是安卓手机通讯录中的另一重要部分。通话记录不仅记录了用户的通话时间、日期和通话类型(来电、去电、未接),还可以分类显示,帮助用户回顾和管理过去的通话。高级用户还可以使用第三方应用扩展通话...

    商务智能题库整理.docx

    8. **商务智能应用实例**:例如,警察从电信数据仓库系统获取通话记录(选项C正确),保险公司数据仓库的主题可能包括顾客、账户和索赔信息(选项B正确)。 9. **数据仓库的特点**:数据仓库的开发是一个迭代的过程...

    LG-P970使用说明书

    通过以上对LG-P970使用说明书的内容整理,我们不仅了解了如何正确操作这款手机的基本方法,还学习了一些高级功能的使用技巧以及常见问题的解决办法。希望这些知识点能帮助您更好地掌握LG-P970的各项功能,让您的手机...

    安卓手机通话录音软件

    这款软件的主要功能是自动或手动记录用户的通话内容,确保重要对话不会遗漏。它可能具备以下特点: 1. **自动录音**:当用户接听或拨打电话时,软件会自动开始录制,无需手动操作。 2. **质量保障**:为了保证录音...

    skypemate3.0

    其次,SkypeMate 3.0的通话记录管理功能,可以帮助用户整理和检索过去的通话历史。无论是个人还是商业用途,都能方便地查找和回顾之前的通话内容,尤其是对于需要追踪对话进展的情况,这一功能显得尤为关键。此外,...

    超级录音机手机录音通话录音软件

    "超级录音机手机录音通话录音软件"是一款专为智能手机设计的应用程序,它具有强大的录音功能,能够帮助用户轻松记录生活中的各种声音,包括电话通话、会议、个人笔记等。这款软件的亮点在于其来电自动录音特性,这...

    电器售后服务热线操作规范.pdf

    另一部为直线电话,用于回访,以控制通话费用。 四、服务人员工作流程 1. 电器课每天将销售的托运和配送电器的托运单存根转交给售后服务专线人员,服务人员整理顾客信息并进行首次回访。 2. 如果首次未联系到顾客,...

    手机通话时如何录音参考.pdf

    这个功能对于需要记录通话内容或者保障沟通证据的情况非常有用,确保用户能够回顾和整理通话信息。 接下来是关于使用手机作为Modem拨号上网的教程,主要针对的是联想手机。首先,用户需要确认SIM卡已开通GPRS功能和...

    mtk_mmi工作相关细节整理

    3. **Call History initialize**:这部分可能涉及到通话记录的初始化过程,包括如何存储、检索和显示用户的通话历史,可能涉及到数据库操作和UI设计。 4. **MTK探讨**:这可能是一系列关于MTK平台开发的深入讨论,...

    众方设备设置整理(命令)

    - 插入新的通话池记录:`EIS(sql)#insertcallpool(通话池ID,最大通话数)` - **管理通话池**: - 查询所有通话池信息:`EIS(sql)#selectcallpool(*)` - 删除所有通话池记录:`EIS(sql)#delcallpool(*)` 以上总结了...

    安卓拨号(运行相当流畅带来电归属地)

    通话记录管理则可以帮助用户整理和筛选过去的通话记录。 此外,文件名称“安卓苹果软件2.0”暗示这可能是一个跨平台的应用,不仅适用于安卓系统,也可能支持苹果iOS系统。这种跨平台兼容性让不同设备的用户都能享用...

    VICIDIAL 2.2.1 坐席操作手册

    - **操作**: 完成通话后,对通话结果进行标记或记录。 - **注意事项**: 如果客户仍在通话中,请确保完成所有必要的记录。 #### 十七、最小化查看客户详情 - **功能**: 在通话期间查看客户的相关信息。 #### 十八...

    MyPhoneExplorer

    通话记录功能可以让用户在电脑上浏览和导出通话记录,而短信管理则允许用户查看、编辑甚至导出短信,对于处理大量信息或者备份重要的聊天记录非常实用。手机设置备份功能则能在用户进行系统升级或维修前保存个性化...

    老年长辈们智能手机使用助手[视频课程].txt打包整理.zip

    【描述】"打包整理.zip"说明了这是一个已经整理好的、方便下载和学习的资源集合。这个压缩包可能包含了多个视频文件,每个文件都对应一个特定的课程主题,旨在系统地教授老年人如何使用智能手机,包括但不限于打电话...

    威谱企业统一通信系统解决方案_标准版整理.pdf

    通话记录功能则记录每一次交互,为服务改进和问题追踪提供依据。 总之,威谱企业统一通信系统解决方案提供了一套完整的、适应现代企业需求的通信工具,通过集成化的管理和智能化的功能,助力企业提升沟通效率,优化...

    FR-AQ0111监控中心来去电话记录表.zip

    - **客户服务**:提高服务质量,根据通话记录改进服务流程。 在处理此类数据时,信息安全是至关重要的。因此,将这些记录保存在加密的zip文件中是一种常见的保护措施,防止未经授权的访问。使用正确的解压工具并...

Global site tag (gtag.js) - Google Analytics