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();
}
}
Android获取通话记录
最新推荐文章于 2024-07-09 14:19:13 发布