PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > HBuilderX教程 > 正文

    HBuilder 获取通话记录 (Android)

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:HBuilder 获取通话记录 (Android)
    1. Date.prototype.Format = function (fmt) {   
    2.          var o = { 
    3.         "M+"this.getMonth() + 1, //月份  
    4.         "d+"this.getDate(), //日  
    5.         "h+"this.getHours()%12==0?12:this.getHours()%12, //小时  
    6.         "H+"this.getHours(), 
    7.         "m+"this.getMinutes(), //分  
    8.         "s+"this.getSeconds(), //秒  
    9.         "q+": Math.floor((this.getMonth() + 3) / 3), //季度  
    10.         "f"this.getMilliseconds() //毫秒  
    11.     }; 
    12.     if (/(y+)/.test(fmt))  
    13.     fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); 
    14.     for (var k in o) 
    15.     if (new RegExp("(" + k + ")").test(fmt))  
    16.         fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); 
    17.     return fmt; 
    18.          
    19.   function getCallLog() { 
    20.       var content=""
    21.      try
    22.     document.getElementById("output").innerHTML=""
    23.     var CallLog = plus.android.importClass("android.provider.CallLog"); 
    24.     var main = plus.android.runtimeMainActivity(); 
    25.     var obj = main.getContentResolver(); 
    26.     plus.android.importClass(obj); 
    27.     //查询 
    28.     var cursor = obj.query(CallLog.Calls.CONTENT_URI, nullnullnullnull); 
    29. //  var SimpleDateFormat = plus.android.importClass("java.text.SimpleDateFormat"); 
    30. //  var Date = plus.android.importClass("java.util.Date"); 
    31. //  var Long = plus.android.importClass("java.util.Long"); 
    32.     plus.android.importClass(cursor); 
    33.     var count = 0; 
    34.     var arr=[]; 
    35.     if (cursor.moveToFirst()) { 
    36.         while (cursor.moveToNext()) { 
    37.             count++; 
    38.             //号码 
    39.             var number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER)); 
    40.             //呼叫类型 
    41.             var type; 
    42.             switch (parseInt(cursor.getString(cursor.getColumnIndex(CallLog.Calls.TYPE)))) { 
    43.             case CallLog.Calls.INCOMING_TYPE: 
    44.                 type = "呼入"
    45.                 break
    46.             case CallLog.Calls.OUTGOING_TYPE: 
    47.                 type = "呼出"
    48.                 break
    49.             case CallLog.Calls.MISSED_TYPE: 
    50.                 type = "未接"
    51.                 break
    52.             default
    53.                 type = "挂断"//应该是挂断.根据我手机类型判断出的 
    54.                 break
    55.             } 
    56. //          var sfd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
    57. var date = new Date(parseInt(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE)))); 
    58. //var time = sfd.format(date);//格式化的效果:例如2010-01-08 09:10:11 
    59. var time=date.Format("yyyy-MM-dd HH:mm:ss:f"); 
    60. //          var sfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    61. //          var Date_Col = cursor.getColumnIndex(CallLog.Calls.DATE); 
    62. //          var Date_Value = cursor.getString(Date_Col); 
    63. //          console.log(Date_Value); 
    64. //          var t = parseInt(Date_Value); 
    65. //          console.log(t); 
    66.             //呼叫时间 
    67. //       var time = sfd.format(new Date(t)); 
    68. //          var time=new Date(t); 
    69. //       var time=cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE)); 
    70.             //联系人  
    71.             var Name_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME); 
    72.             var name = cursor.getString(Name_Col); 
    73.             //通话时间,单位:s 
    74.             var Duration_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.DURATION); 
    75.             var duration = cursor.getString(Duration_Col); 
    76.           
    77.             var obj={}; 
    78.             obj.num=count; 
    79.             obj.name=name; 
    80.             obj.phone=number; 
    81.             obj.time=time; 
    82.             obj.type=type; 
    83.             obj.duration=duration>3600?new Date(duration*1000).Format("HH:mm:ss"):new Date(duration*1000).Format("mm:ss"); 
    84.             arr.push(obj); 
    85.             outLine(JSON.stringify(obj)); 
    86. //        console.log(JSON.stringify(obj)); 
    87.             console.log(time + " " + " name:"+name+" phone:"+number + “ type:"+type + " duration:" + duration); 
    88.             content+=str; 
    89.              if (count > 50) { 
    90.                 break
    91.             } 
    92.         } 
    93.  
    94.     } 
    95. //  console.log(JSON.stringify(arr)); 
    96. //  console.log(arr.length); 
    97. //  content=""; 
    98. //  for(var i=0;i<arr.length;i++){ 
    99. //      content+=JSON.stringify(arr[i]); 
    100. //      content+="\n"; 
    101. //  } 
    102.    } 
    103.      catch(e){ 
    104.          content=e.message; 
    105.      } 
    106.       
    107.     outLine(content); 

     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-146-2779-1.html
    相关热词搜索: