- public class CallHistoryHelper {
- public static String getCallHistoryStr(Context context) {
- String callHistoryJson = "";
- callHistoryJson= GetHostCommlog(context);
- return callHistoryJson;
- }
- private static JSONObject GetData(Cursor aCursor) {
- // CallHistory commlogdata = new CallHistory();
- String date=DateFormatTools.DateFormat(Long.parseLong(aCursor.getString(aCursor.getColumnIndex("date"))));
- Long duration=aCursor.getLong(aCursor.getColumnIndex("duration"));
- String name = aCursor.getString(aCursor.getColumnIndex("name"));
- if(name==null||name.equals(""))
- {
- name = aCursor.getString(aCursor
- .getColumnIndex("number"));
- }
- String number=aCursor.getString(aCursor
- .getColumnIndex("number"));
- JSONObject obj=new JSONObject();
- try {
- obj.put("date", date);
- obj.put("duration", duration);
- obj.put("name", name);
- obj.put("number", number);
- } catch (JSONException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return obj;
- }
- private static String GetHostCommlog(
- Context iContext) {
- JSONObject callhistoryJson =new JSONObject();
- JSONArray arrIn=new JSONArray();
- JSONArray arrOut=new JSONArray();
- JSONArray arrMiss=new JSONArray();
- Cursor cursor = iContext.getContentResolver().query(
- android.provider.CallLog.Calls.CONTENT_URI,
- new String[] { "number", "name", "type", "date","duration" }, null, null,
- "date DESC");
- while (cursor.moveToNext()) {
- switch (cursor.getInt(cursor.getColumnIndex("type"))) {
- case 1:
- JSONObject obj1=GetData(cursor);
- arrIn.put(obj1);
- break;
- case 2:
- JSONObject obj2=GetData(cursor);
- arrOut.put(obj2);
- break;
- case 3:
- JSONObject obj3=GetData(cursor);
- arrMiss.put(obj3);
- break;
- default:
- break;
- }
- }
- try {
- callhistoryJson.put("Incoming",arrIn);
- callhistoryJson.put("Outgoing",arrOut);
- callhistoryJson.put("Missed",arrMiss);
- } catch (JSONException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- cursor.close();
- return callhistoryJson.toString();
- }
- }
转自:http://blog.csdn.net/chaoyu168/article/details/49094005