android p获取通话记录_[android] 取得最近通话记录的方法
经过一下午的研究,终于弄明白了android中,关于通话记录取得的方法。下边是自己的一点心得。
final Cursor cursor = cr.query(CallLog.Calls.CONTENT_URI, new
String[] {
CallLog.Calls.NUMBER, CallLog.Calls.CACHED_NAME,
CallLog.Calls.TYPE, CallLog.Calls.DATE }, null, null,
CallLog.Calls.DEFAULT_SORT_ORDER);
final Cursor cursor =
cr.query(数据库表名,取得的数据数组(里边包含字段名称),条件,参数组,排序等信息)
//这就相当于一条SQL语句//取得所有通话信息 这里边稍微有点复杂
for (int i = 0; i < cursor.getCount(); i++)
{
cursor.moveToPosition(i);
str =
cursor.getString(0);
type =
cursor.getInt(2);
if (type == 3) {
tel = str;
break;
}
} //取得值
final Cursor cursor = cr.query(CallLog.Calls.CONTENT_URI, new
String[] {
CallLog.Calls.NUMBER }, "type=3", null,
"date desc limit 1");
//这个就是取得最近的一次未接来电的电话号码。
if(cursor.moveToFirst()){
tel =
cursor.getString(0);
}
这个取值之后和最上边的值是一样的。
CallLog.Calls.CONTENT_URI
(通话记录数据库)
CallLog.Calls.NUMBER
(通话号码)
CallLog.Calls.CACHED_NAME
(通话人姓名)
CallLog.Calls.TYPE
(通话类型)
呼叫记录有三种类型:
来电:CallLog.Calls.INCOMING_TYPE (常量值:1)
已拨:CallLog.Calls.OUTGOING_TYPE(常量值:2)
未接:CallLog.Calls.MISSED_TYPE(常量值:3)
其实还有一种类型-拒接 系统未给出常量。但经测试后得出结论为4.
CallLog.Calls.DATE
(通话时间)
需要声明的权限 在AndroidManifest.xml中加入
android:name="android.permission.READ_CONTACTS"
/>读记录
android:name="android.permission.WRITE_CONTACTS"
/>写记录
这两条是和节点同级的
如果想加入呼叫权限,还要加上
android:name="android.permission.CALL_PHONE" />
还有发送短信权限
android:name="android.permission.SEND_SMS" />
还有连接互联网权限
CallLog.Calls.CONTENT_URI
: 等价于:Uri.parse("content://call_log/calls");
android p获取通话记录_[android] 取得最近通话记录的方法相关推荐
- android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法
android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法 1)获取运营商sim卡imsi号: String android_imsi = telephonyManager.getSub ...
- android 动态获取权限有哪些,Android 6.0+ 动态获取权限
Android 6.0+ 动态获取权限 这里有一个现成的库,可以直接拿来用.方便简单 1.向app下的gradle添加依赖: dependencies{ // android 6.0+ 动态获取权限 ...
- android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法
1)获取运营商sim卡imsi号, String IMSI =android.os.SystemProperties.get( android.telephony.TelephonyPropertie ...
- android 获取粗略位置_在Android上获取用户当前位置的最简单,最强大的方法是什么?...
在搜索最佳实现后,如何获得最佳的精确用户位置,我设法结合所有最好的方法,并提出以下类:/** * Retrieve accurate location from GPS or network serv ...
- android nfc识别身份正_[Android] NFC卡模拟专业版 用手机自带NFC开小区门禁 刷食堂饭卡...
声明:免费分享,请勿买卖 Card Emulator Pro是一个功能强大且免费的NFC卡模拟器,可模拟各类门禁卡.电梯卡.部分公司工厂工卡或饭卡.部分学校饭卡.部分图书馆借书卡 等各类IC卡,用手机 ...
- android 数组获取指定字符串位置,android – 如何从这个json对象中提取字符串数组?...
我正在尝试使用org.json中的类从以下json对象获取可用数字列表 { "response":true, "state":1, "data&quo ...
- android 怎么获取app 字体颜色,android app 修改字体
android中可能会遇到修改字体的情况,虽然说需求比较少,但是偶尔还会遇到 可以使用三方框架来帮助我们简单做到 api "uk.co.chrisjenx:calligraphy:2.2.0 ...
- android 怎么获取app 字体颜色,Android APP使用自定义字体实现方法
android系统内置字体 android 系统本身内置了一些字体,可以在程序中使用,并且支持在xml配置textView的时候进行修改字体的样式.支持字段为android:textStyle ,an ...
- android edittext获取 time值,在Android EditText中实现日期时间选择器(DatePicker和TimePicker)...
利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.x ...
最新文章
- 从系统设计到市场痛点,浅谈英国自助结账系统
- 设计过程中常见的 10 个小问题
- SpringSecurity认证
- xshell常用的命令
- sqlserver 2008安装总是弹出重启提示
- fegin需要实现类_【第24条】静态成员类优于非静态成员类
- Dev Treelist使用经验(2)
- 【组件】大数据框架安装功能来划分
- 支付宝相关信息会被泄露出去吗?
- bat导出远程oracle数据,windows 任务计划 实现oracle远程 数据库备份
- 靠播放业务吃不饱?音乐流媒体纷纷“加电商”卖周边
- android 取消选中状态,Android:显示/隐藏偏好检查/取消选中其他CheckBoxPreference
- 关键系统进程 C:\Windows\system32\lsass.exe 失败,状态代码是 255。现在必须重新启动计算机。
- 解释计算机网络英文缩写CA,计算机网络名词英文缩写
- 十二星座谁最不会顾及别人感受?
- 检索策略(抓取策略)
- 关于蓝牙打印机的一些问题
- python工程师的职业规划_一名Python开发工程师的职业规划
- 电脑控制台命令的简单操作方式(黑窗口)
- [转帖]粤语语系分类
热门文章
- 昆山第二中等专业学校计算机分数线,昆山第二职业中学录取分数线
- pta段错误怎么办_语文名师提醒:错误的阅读习惯导致孩子成绩下降
- buffer sort Oracle,[转]BUFFER SORT是BUFFER却不是SORT
- easyexcel根据模板写入_用 Vue+ElementUI 搭建后台管理极简模板
- 保存图像_设计干货知识:SVG vs PNG vs JPG|图像格式的优缺点
- python编程学习笔记_python编程:从入门到实践学习笔记-Django开发用户账户(一)...
- linux创建文件怎么输入换行_Revit 怎么创建自定义的族文件?
- excel数据库_将excel文件导入mysql数据库教程(PHP实现)
- python怎么导入数据包_python – Scapy:如何在现有数据包中插入新层(802.1q)?
- 软件自动升级ftp服务器,国人自己的专业FTP服务器软件(上)