大佬教程收集整理的这篇文章主要介绍了在android中获取最后通话时长,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试以下但问题是它带有一个完整的持续时间列表.传入,传出,错过.
我如何区分它:
我尝试了以下方法:
private void getCallDetails() { StringBuffer sb = new StringBuffer(); cursor cur = getContentResolver().query( CallLog.Calls.CONTENT_URI,null,android.provider.CallLog.Calls.DATE + " DESC"); int number = cur.getcolumnIndex( CallLog.Calls.numbER ); int duration = cur.getcolumnIndex( CallLog.Calls.DURATION); sb.append( "Call Details : \n"); while ( cur.moveToNext() ) { String phnumber = cur.getString( number ); String callDuration = cur.getString( duration ); String dir = null; sb.append( "\nPhone number:--- "+phnumber +" \nCall duration in sec :--- "+callDuration ); sb.append("\n----------------------------------"); } cur.close(); call.setText(sb); }
private void getCallDetails() { StringBuffer sb = new StringBuffer(); Uri contacts = CallLog.Calls.CONTENT_URI; cursor managedcursor = context.getContentResolver().query(contacts,null); int number = managedcursor.getcolumnIndex(CallLog.Calls.numbER); int type = managedcursor.getcolumnIndex(CallLog.Calls.TYPE); int date = managedcursor.getcolumnIndex(CallLog.Calls.DATE); int duration = managedcursor.getcolumnIndex(CallLog.Calls.DURATION); sb.append("Call Details :"); while (managedcursor.moveToNext()) { HashMap rowDataCall = new HashMap<String,String>(); String phnumber = managedcursor.getString(number); String callType = managedcursor.getString(typE); String callDate = managedcursor.getString(datE); String callDayTime = new Date(Long.valueOf(callDatE)).toString(); // long timestamp = convertDateTotimestamp(callDayTimE); String callDuration = managedcursor.getString(duration); String dir = null; int dircode = Integer.parseInt(callTypE); switch (dircodE) { case CallLog.Calls.OUTGOING_TYPE: dir = "OUTGOING"; break; case CallLog.Calls.INCOMING_TYPE: dir = "INCOMING"; break; case CallLog.Calls.MISSED_TYPE: dir = "MISSED"; break; } sb.append("\nPhone number:--- " + phnumber + " \nCall Type:--- " + dir + " \nCall Date:--- " + callDayTime + " \nCall duration in sec :--- " + callDuration); sb.append("\n----------------------------------"); } managedcursor.close(); System.out.println(sb);
您将在下面的行中获得呼叫类型:
int type = managedcursor.getcolumnIndex(CallLog.Calls.TYPE);
以上是大佬教程为你收集整理的在android中获取最后通话时长全部内容,希望文章能够帮你解决在android中获取最后通话时长所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。