Android获取通话记录

简介:
[java]  view plain  copy
 print ?
  1. public class CallHistoryHelper {  
  2.       
  3.     public static String getCallHistoryStr(Context context) {  
  4.         String callHistoryJson = "";  
  5.   
  6.         callHistoryJson= GetHostCommlog(context);  
  7.   
  8.         return callHistoryJson;  
  9.     }  
  10.       
  11.     private static JSONObject GetData(Cursor aCursor) {  
  12. //      CallHistory commlogdata = new CallHistory();  
  13.         String date=DateFormatTools.DateFormat(Long.parseLong(aCursor.getString(aCursor.getColumnIndex("date"))));  
  14.     Long duration=aCursor.getLong(aCursor.getColumnIndex("duration"));  
  15.         String name = aCursor.getString(aCursor.getColumnIndex("name"));  
  16.         if(name==null||name.equals(""))  
  17.         {  
  18.             name = aCursor.getString(aCursor  
  19.                     .getColumnIndex("number"));  
  20.         }  
  21.           
  22.         String number=aCursor.getString(aCursor  
  23.                 .getColumnIndex("number"));  
  24.           
  25.         JSONObject obj=new JSONObject();  
  26.           
  27.         try {  
  28.             obj.put("date", date);  
  29.             obj.put("duration", duration);  
  30.             obj.put("name", name);  
  31.             obj.put("number", number);  
  32.         } catch (JSONException e) {  
  33.             // TODO Auto-generated catch block  
  34.             e.printStackTrace();  
  35.         }  
  36.           
  37.         return obj;  
  38.     }  
  39.       
  40.     private static String GetHostCommlog(  
  41.             Context iContext) {  
  42.         JSONObject callhistoryJson =new JSONObject();  
  43.         JSONArray arrIn=new JSONArray();  
  44.         JSONArray arrOut=new JSONArray();  
  45.         JSONArray arrMiss=new JSONArray();  
  46.           
  47.         Cursor cursor = iContext.getContentResolver().query(  
  48.                 android.provider.CallLog.Calls.CONTENT_URI,  
  49.                 new String[] { "number""name""type""date","duration" }, nullnull,  
  50.                 "date DESC");  
  51.   
  52.         while (cursor.moveToNext()) {  
  53.               
  54.   
  55.             switch (cursor.getInt(cursor.getColumnIndex("type"))) {  
  56.             case 1:  
  57.                   
  58.                 JSONObject obj1=GetData(cursor);  
  59.                 arrIn.put(obj1);  
  60.                 break;  
  61.             case 2:  
  62.               
  63.                 JSONObject obj2=GetData(cursor);  
  64.                 arrOut.put(obj2);  
  65.                 break;  
  66.             case 3:  
  67.               
  68.                 JSONObject obj3=GetData(cursor);  
  69.                 arrMiss.put(obj3);  
  70.                 break;  
  71.             default:  
  72.               
  73.                 break;  
  74.             }  
  75.         }  
  76.         try {  
  77.             callhistoryJson.put("Incoming",arrIn);  
  78.             callhistoryJson.put("Outgoing",arrOut);  
  79.             callhistoryJson.put("Missed",arrMiss);  
  80.         } catch (JSONException e) {  
  81.             // TODO Auto-generated catch block  
  82.             e.printStackTrace();  
  83.         }  
  84.         cursor.close();  
  85.       
  86.         return callhistoryJson.toString();  
  87.     }  
  88.   
  89. }  


转自:http://blog.csdn.net/chaoyu168/article/details/49094005

目录
相关文章
|
11月前
|
Android开发
通话记录生成器安卓版下载APP,通话记录生成器安卓版,一键生成100个通话记录
铁牛通话记录生成器是批量自动虚拟生成通话记录的app,如何得到“铁牛通话记录生成器”?在手机上进去佰渡baidu浏览器输入,铁牛通话记录生成器,这几个字就可以搜索,其他多余的不用输入。或者你输入这几个字母jp155再加上一个点com,手动输入浏览器即可。也可以看下面的图片中间的绿色模块图标和字母,思考一下是什么,伽一下。
|
Android开发
|
20天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
12 0
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
94 0
|
1月前
|
设计模式 人工智能 开发工具
安卓应用开发:构建未来移动体验
【2月更文挑战第17天】 随着智能手机的普及和移动互联网技术的不断进步,安卓应用开发已成为一个热门领域。本文将深入探讨安卓平台的应用开发流程、关键技术以及未来发展趋势。通过分析安卓系统的架构、开发工具和框架,本文旨在为开发者提供全面的技术指导,帮助他们构建高效、创新的移动应用,以满足不断变化的市场需求。
18 1
|
1月前
|
机器学习/深度学习 调度 Android开发
安卓应用开发:打造高效通知管理系统
【2月更文挑战第14天】 在移动操作系统中,通知管理是影响用户体验的关键因素之一。本文将探讨如何在安卓平台上构建一个高效的通知管理系统,包括服务、频道和通知的优化策略。我们将讨论最新的安卓开发工具和技术,以及如何通过这些工具提高通知的可见性和用户互动性,同时确保不会对用户造成干扰。
33 1
|
11天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。