android p获取通话记录_HBuilder 获取通话记录 (Android)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours()%12==0?12:this.getHours()%12, //小时
"H+": this.getHours(),
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"f": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
function getCallLog() {
var content="";
try{
document.getElementById("output").innerHTML="";
var CallLog = plus.android.importClass("android.provider.CallLog");
var main = plus.android.runtimeMainActivity();
var obj = main.getContentResolver();
plus.android.importClass(obj);
//查询
var cursor = obj.query(CallLog.Calls.CONTENT_URI, null, null, null, null);
// var SimpleDateFormat = plus.android.importClass("java.text.SimpleDateFormat");
// var Date = plus.android.importClass("java.util.Date");
// var Long = plus.android.importClass("java.util.Long");
plus.android.importClass(cursor);
var count = 0;
var arr=[];
if (cursor.moveToFirst()) {
while (cursor.moveToNext()) {
count++;
//号码
var number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));
//呼叫类型
var type;
switch (parseInt(cursor.getString(cursor.getColumnIndex(CallLog.Calls.TYPE)))) {
case CallLog.Calls.INCOMING_TYPE:
type = "呼入";
break;
case CallLog.Calls.OUTGOING_TYPE:
type = "呼出";
break;
case CallLog.Calls.MISSED_TYPE:
type = "未接";
break;
default:
type = "挂断"; //应该是挂断.根据我手机类型判断出的
break;
}
// var sfd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
var date = new Date(parseInt(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE))));
//var time = sfd.format(date);//格式化的效果:例如2010-01-08 09:10:11
var time=date.Format("yyyy-MM-dd HH:mm:ss:f");
// var sfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// var Date_Col = cursor.getColumnIndex(CallLog.Calls.DATE);
// var Date_Value = cursor.getString(Date_Col);
// console.log(Date_Value);
// var t = parseInt(Date_Value);
// console.log(t);
//呼叫时间
// var time = sfd.format(new Date(t));
// var time=new Date(t);
// var time=cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE));
//联系人
var Name_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME);
var name = cursor.getString(Name_Col);
//通话时间,单位:s
var Duration_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.DURATION);
var duration = cursor.getString(Duration_Col);
var obj={};
obj.num=count;
obj.name=name;
obj.phone=number;
obj.time=time;
obj.type=type;
obj.duration=duration>3600?new Date(duration*1000).Format("HH:mm:ss"):new Date(duration*1000).Format("mm:ss");
arr.push(obj);
outLine(JSON.stringify(obj));
// console.log(JSON.stringify(obj));
console.log(time + " " + " name:"+name+" phone:"+number + “ type:"+type + " duration:" + duration);
content+=str;
if (count > 50) {
break;
}
}
}
// console.log(JSON.stringify(arr));
// console.log(arr.length);
// content="";
// for(var i=0;i // content+=JSON.stringify(arr[i]);
// content+="\n";
// }
}
catch(e){
content=e.message;
}
outLine(content);
}
原文:http://www.cnblogs.com/liadmin/p/6352122.html
android p获取通话记录_HBuilder 获取通话记录 (Android)相关推荐
- android通话记录列表apk,android打电话,发短信,获取通讯录、通话记录、短信记录...
[实例简介] 代码实现android打电话,发短信,获取通讯录.通话记录.短信记录 [实例截图] [核心代码] 19287b5f-b70c-4210-ab04-9d24ddd60788 └── cal ...
- Android通过蓝牙获取设备的通讯录、通话记录等
本功能实现方案流程如下: 1.在AndroidManifest文件中添加蓝牙相关权限: 2.通过静态或者动态注册广播的形式,监听蓝牙设备的状态(本文以动态监听的方式实现): 3.根据已实现广播的回调状 ...
- android如何使用BroadcastReceiver后台实现来电通话记录的监听并存取到sqllite数据库通过Contentprovilder实现接口...
BroadcastReceiver 是android四大组件的一个,本质上是一种全局的监听器,用于监听全局的广播消息.下面实现了后台监听android手机通话记录.本demo分两个程序,第一个程序是设 ...
- android隐私违规获取问题处理 及 Hook拦截处理记录 (VirtualXposted/epic等)及 android/iOS 多bundle加载方式修复方案
文章目录 1.如何检测/复现 android_id/Mac地址等权限被超前获取 ```但是,检测机构是如何检测我们的APP?``` 关于hooklogin插件 太极 ---- 以上基础工作完成---- ...
- Androidの通过查询电话号码或ID获取联系人头像
Androidの通过查询电话号码或ID获取联系人头像 1.通过联系人手机号码查询获取头像 // 取得Intent中的頭像 ivShowImage = (ImageView) findViewById( ...
- android拨打电话的日志,Android-9种通话状态(精确)
一.介绍 在应用层监听通话状态只有三种,从TelephonyManager.java中注释可知这三种状态含义如下: CALL_STATE_IDLE 空闲态(没有通话活动) CALL_STATE_RIN ...
- Android权限说明大全及动态获取权限框架——Easypermissions
Android6.0把权限分成正常权限和危险权限,AndroidManifest中声明的正常权限系统会自动授予,而危险权限则需要在使用的时候用户明确授予. 换句话说,就是Android6.0以上的系统 ...
- android获取当前位置经纬度,Android中通过GPS或NetWork获取当前位置的经纬度
今天在Android项目中要实现一个通过GPS或NetWork来获取当前移动终端设备的经纬度功能.要实现该功能要用到Android Framework 中的 LocationManager 类.下面我 ...
- <漫漫Android路>AOSP源码获取编译及问题处理
漫漫Android路---1.AOSP源码获取编译及导入 写在前面 环境准备 AOSP源码获取 1.Repo下载配置 2.Git安装及配置 3.AOSP获取 AOSP源码编译 1.安装编译依赖 2.开 ...
最新文章
- 《Framework Design Guidelines 2nd Edition》推荐
- matlab int8 矩阵,unit8_matlab数据类型转换——int8转换成unit8
- 软件定义的网络体系结构是否使用网段路由?—Vecloud微云
- RTSP/RTMP播放端录像不可忽视的几个设计要点
- 让你的Mac读给你听,还能听写,用来练习英语口语!
- cmake命令的python库的位置参数-DTORCH_PATH
- Matlab使用过程中内存不足问题的总结(修改)
- linux下安装anconda
- python参考手册第四版_Python参考手册 PDF 第4版
- 最强内网穿透工具frp
- fastadmin常规错误排查
- html学习——介绍
- 峰值利用率80%+,视频云离线转码自研上云TKE实践
- MySQL学习笔记10:MySQL图形化管理工具 navicat 和 Workbench
- 基于 Selenium 掘金自动签到、抽奖的定时任务
- Windows .bat 脚本简单用法介绍
- 使用Cython提高python代码执行速度
- html中设置字体字型,html中 如何在font中设置字体样式(粗体斜体等)
- 「UG/NX」Block UI RGB 颜色拾取器RGBColorPicker
- 最基础的远程控制来了,教你如何跨客户端连接服务器,7*24工作不是梦!