求大神把我这个图片视频手机通话记录网上查询那上面的时间p掉 谢谢

&&&&&&&&这年头人人都会P图,你以为用美图秀秀加几个滤镜就叫P图了,其实,真正的P图大师还是要用PS让多个图像、多种意境天衣无缝的融合到一起,一起来欣赏一下PS大师的作品吧~
本文属于原创文章,如若转载,请注明来源:http://jd.zol.com.cn/652/6524469.html
投诉欺诈商家:
天津重庆哈尔滨沈阳长春石家庄呼和浩特西安太原兰州乌鲁木齐成都昆明贵阳长沙武汉郑州济南青岛烟台合肥南京杭州东莞南宁南昌福州厦门深圳温州佛山宁波泉州惠州银川
10暂无报价
摄影手机硬件笔电平板
最新科技资讯下载ZOL APP手机签到经验翻倍!快来扫一扫!
〓【天涯奉献手机图片汇总贴】〓【更新至5000P】〓
105167浏览 / 491回复
20:30:16 “笨点好”把此帖设为精华,作者得到50经验:)
为了方便大家查找自己喜欢的手机待机美图, 特将本人在ZOL手机论坛所发精美图片汇总此贴, 多主题、多类别、多风格的图片,分享给大家! 让你的手机靓起来!!动起来!!!
(主贴提供240*320格式)(一楼为其他格式) 更新至90帖(近5000张)任你挑选。
(每帖都提供打包下载全部图片)
第1帖:☜
第2贴:☜
第3贴:☜
第4贴:☜
第5贴:☜
第6贴:☜
第7贴:☜
第8贴:☜
第9贴:☜
第10贴:☜
第11贴:☜
第12贴:☜
第13帖:☜
第14帖:&&☜(4月29日新增)
第15帖:&&☜(4月30日新增)
第16帖:&&☜(4月30日新增)
第17帖: ☜(4月30日新增)
第18帖: ☜(5月1日新增)
第19帖: ☜(5月4日新增)
第20帖: ☜(5月5日新增)
第21帖: ☜(5月5日新增)
第22帖: ☜(5月6日新增)
第23帖: ☜(5月6日新增)
第24帖:&&☜(5月7日新增)
第25帖: ☜(5月10日新增)
第26帖:&& ☜(5月11日新增)
第27帖:☜(5月12日新增)
第28帖: ☜(5月13日新增)
第29帖:☜(5月14日新增)
第30帖:☜(5月15日新增)
第31帖:☜(5月17日新增)
第32帖:☜(5月18日新增)
第33帖:☜(5月19日新增)
第34帖:☜(5月19日新增)
第35帖:☜(5月19日新增)
第36帖:☜(5月20日新增)
第37帖:☜(5月20日新增)
第38帖:☜(5月20日新增)
第39贴:☜(5月21日新增)
第40贴:☜(5月21日新增)
第41贴:☜(5月21日新增)
第42贴:☜(5月22日新增)
第43贴:☜(5月23日新增)
第44贴:☜(5月23日新增)
第45贴:☜(5月24日新增)
第46贴:☜(5月24日新增)
第47贴:☜(5月24日新增)
第48贴:☜(5月25日新增)
第49贴:☜(5月25日新增)
第50贴:☜(5月26日新增)
第51贴: ☜(5月26日新增)
第52贴:☜(5月27日新增)
第53贴:☜(5月27日新增)
第54贴:☜(5月27日新增)
第55贴:☜(5月28日新增)
第56贴:☜(5月29日新增)
不定期更新美图,敬请期待!
其他论坛所发背景图片汇总地址:
1、『天语C800』 【“可爱小布偶”主题手机背景】
2、『天语C800』 【可爱3D娃娃主题手机背景(1)】
3、『天语C800』 【可爱3D娃娃主题手机背景(2)】
4、『天语C800』 【精美海洋生物主题手机图片】&&
5、『天语C800』 【时尚的3D娃娃系列手机图片】 &&&&
6、『天语C800』 【另类的花朵另类的美丽】
7、【联想S90的240×400】【高清“五彩祥云”手机图片】
8、【适合MOTO E680的】 【18张开机动态美图】
9、【C800的美图之7】 【非主流个性手机 图片】
10、【C800的美图之8】 【野生动物主题背景】
11、【C800的美图之9】 【精美的3D背景图片】
12、【C800美图之10】 【美丽迷人的大海】
13、【C800美图之11】 【如画一般的迷人景色】
14、【C800美图之12】 【黄色图片(很黄啊)】
15、【C800美图之13】 【万物之源(水系列)】
16、【C800美图之14】 【花儿与花瓶系列图片】
17、天涯分享“清纯可爱妹妹”系列手机图片
18、天涯分享11张Q版篮球明星手机壁纸
19、天涯分享240×320手机图片之“动态动漫”18P
20、天涯分享240×320手机图片之“精美开机动画”
21、天涯分享W958手机图片之“静止的美丽”
22、天涯分享W958的手机图片之“可爱的嘟嘟娃”
23、天涯分享176×220手机图片之“美丽女星”
24、天涯分享176×220手机图片之“可爱的动画”
25、天涯分享176×220手机图片之“人物系列”
26、天涯分享176*220手机图片之“时尚魅力”
27、天涯分享K750背景图片之“独特的创意”
28、天涯分享K750背景图片之“冷静而残酷的魅力”
29、〖天涯分享176*220图片之六〗【W810的图片之“手绘风光美景2”】
30、〖天涯分享176*220图片之五〗【W810的图片之“手绘风光美景1”】
31、〖天涯分享176*220图片之四〗【W810的图片之“手绘的美女”】
32、〖天涯分享176*220图片之三〗【W810的图片之“可爱波板糖”】
33、〖天涯分享176*220图片之二〗【W810的图片之精选美图】
34、〖天涯分享176*220图片之一〗【W810的图片之视觉盛宴】
35、【天涯分享】320×240横屏手机图片之【“动感水果”】
36、【天涯分享〖240×400〗动态图片之2】[40P可打包下]
37、【天涯分享〖240×400〗动态图片】[60P打包下] 持续更新中。。。。
对&楼主&tianyaK858c&说:=========================先给你+2级精华吧~
更新多了之后再+3级~
对&第1楼&tianyaK858c&说:=========================近期会帮你提升~
对&第3楼&卖烧红薯的村长&说:=========================好的 谢谢
谢谢支持。
支持就是力量
对&第7楼&物是人非&说:=========================支持也是需要鼓励的,呵呵。
很好啊 谢谢
好图片,好图,顶顶!!
对&第10楼&maxqiang123&说:=========================不用客气哦。
支持了.0...............
对&第13楼&笨点好&说:=========================谢谢支持哦。顺便给个高亮呗,发帖时忘记自己加了,呵呵。
对&第14楼&tianyaK858c&说:=========================这个找我就行, 省钱
对&第15楼&笨点好&说:=========================ok
偶尔还行,呵呵。
5月5日有更新
lai zc来支持
谢谢支持。
5月6日更新至23帖喽
支持键盘翻页 ( 左右 )&
用户名/注册邮箱/注册手机号
其他第三方号登录后使用快捷导航没有帐号?
只需一步,快速开始
1 / 380 页
查看: 307427|回复: 6347
在线时间360 小时G币1190 最后登录注册时间帖子阅读权限100UID6106425
TA的每日心情擦汗 11:58签到天数: 380 天[LV.9]以坛为家II
G币1190 最后登录注册时间
马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。
已有帐号?   下载游戏和软件,请【】进入机锋市场!
本帖最后由 mn2610 于
17:04 编辑
目前官方底包已升级好几个版本,但是底包不见得最新的就是最好的,目前最新的底包杀后台有点严重,所以还是选择旧版的底包进行制作吧。GP/G925P机型现有不少大神在做,本来是不打算做的,不过有几个真心支持我的机友希望我做一下,所以就做着看了,目前反映都说比较流畅。我自己没有这型号的机器,有什么问题之类的希望大家能进群反馈交流一下。感谢机锋大神们的帮助,感谢群里机友的使用测试;本人风格是尽量官方稳定为主,不添加过多的功能,喜欢各种自定义的就抱歉咯,就当是做给支持我的人使用吧。如果你觉得我做的还不错,请评分回复支持我一下。
刷机前请先升级至<font color="#ff.1(此步骤不能少,以免出现指纹问题),刷机前先四清,分别为:Dalvik cache;system;data;cache ; 以免出现各种异常问题!
G9250机型需unlock CRom解锁,此步骤会令手机保修失效,自行斟酌!方法本论坛已有很多,不再叙述,自行寻找吧。
适合机型& && && &&&SM-G5P、G920F/I/T/S/K/L/FD、G925F/I/T/S/K/L& && && &&&ROM作者& && && && && && && && && && && && && && && && & 杭州、时光(mn2610)ROM版本& && && && && && &V4.0 基于G9250ZCU2COI9/G925KKKU2COH9(安卓5.1.1)个人微博& && && && && && && && && && && && &新建新浪微博求粉中,!
G9200版L4.0(版);
<font color="#ff-01-04& &V4.0(新年版)
修复6.0样式状态栏指纹解锁界面壁纸泛白的问题,包已经重新上传!
因版本过多比较杂乱,大半夜的我就不弄补丁了,觉得有必要的就重新下载吧,无所谓的就不用刷了;
<font color="#ff-01-03& &V4.0(新年版)
GP/G920P机型底包为G9250ZCU2COI9;
G920F/I/T/S/K/L/FD,G925F/I/T/S/K/L机型底包为G925KKKU2COH9;
新增应用程序自启管理,位于设置-自启管理,熟练使用后,内存占用和续航可能会好一点吧;
新增三星官方6.0界面样式,界面还算比较清新;
新增启动器为三星官方6.0样式,配合6.0过渡动画,还算不错;
新增系统图标为三星官方6.0样式,扁平化,更加简约,还算不错;
新增状态栏为三星官方6.0样式(我个人不太喜欢,SO选择性刷入);
新增加强型相机,可低电量照相及摄像(有些人可能不需要,SO选择性刷入);
新增最新Note5字体(视觉上感觉屏幕分辨率提高了);
状态栏下拉农历调整为两行,以免节日期间发生重叠;
状态栏下拉快捷键调整,毕竟有些功能大家还是需要开关的;
框架优化,滑动可能会流畅些吧,因人而异了;
G9250机型底包默认开启未知来源(之前几版忘了修改);
<font color="#ff-12-16& &V3.0
GP/G920P机型底包为G9250ZCU2COI9 (此版底包经调试后流畅度和后台常驻能力都很不错);
G92xF/I/T/S/K/L/FD机型底包为G925KKKU2COH9(此版底包经调试后流畅度和后台常驻能力都很不错);
<font color="#ff机型内核更新为COI9源码编译的内核(xiaolu大神编译,感谢);
智能管理器更新,桌面多一个插件(然并卵的东西,看看就好);
修复拨号界面工程模式无效的问题;
调整短信归属地位置,以免与黄页发生重叠;
新增通话自动录音自定义,来去电均可;
新增最新NOTE5国行输入法,比以前好用的太多;
新增电池图标内显示电池百分比,刷机过程可选刷入;
新增桌面无限循环启动器,刷机过程可选刷入(不太稳定);
新增后台模式可选,刷机过程可选刷入;
刷机过程可勾选是否刷入侧屏;
刷机过程可勾选是否刷入最新6.0过度动画(切换比较流畅);
刷机过程选择自己的型号刷入;
增加G920P/G925P机型支持(内核均为:UniKernel-v6-0001);(转换文件参考自毛毛虫大神,非常感谢!)
GP/G920P机型底包为G9250ZCU2COI9 (此版底包经调试后流畅度和后台常驻能力都很不错);
G92xF/I/T/S/K/L/FD机型底包改为原V2.3底包:G925KKKU2COH9(此版底包经调试后流畅度和后台常驻能力都很不错);
恢复照相机视频快慢动作编辑;
破解短信最大字符999字;
破解S5工具箱12程序显示;
破解多窗口分屏支持所有程序;
新增拨号后可显示特服号,以及归属地运营商;
新增通话挂断后延迟时间自定义;
新增NOTE5(安卓6.0) 过渡动画,更流畅;
刷机过程中选择自己型号刷入;
刷机过程中可选择是否刷入侧屏;
G9250机型参考以下特性,基本一致;
G920P、G925P机型可下载9250的底包版本,补刷自己内核自行测试;
调整短信归属地大小及颜色;
新增拨号界面显示归属地;
调整通话通话记录归属地位置、颜色及大小;
去除设置里的韩文和T漫游;
加入S5工具箱,超级省电自定义程序等;
高德定位改为最新国行NOTE5百度定位;
文本转语音选项中文(中国)完全支持;
加入新的智能管理器,新增两页功能显示;
加入应用程序权限管理,位于设置-应用程序;
支付宝指纹支付可用(三星应用商店下载支付宝);(9250机型未测试!)
改善贴吧,微博等掉帧问题;
大幅改善后台被杀的问题,应用程序后台常驻能力大大提升;
大幅精简无用组件,减轻系统负荷;
去除S健康,有需要的去应用商店自行下载;&&
超级授权升级到最新版本(2.52);
文件管理器升级为最新版本3.3.6;
加入繁体中文;
全新优化,流畅度有所提升;
其他优化自行体验;
添加G9250机型,以及FD双卡版完美自定义;
G9250机型基于国行最新底包G9250ZCU2COI9制作;
G9250机型自带百度网络定位,内核为xiaolu大神修改的内核,完美睡眠,感谢xiaolu大神!
G9250机型为第一版,BUG可能会有,精简不多,若有精简过度,下版再恢复;
G9250机型其他特性和下面基本一致;
其他机型(含FD机型)底包更新至韩版最新G925KKKU3COI6;
FD双卡机型自定义可以完美使用了;
FD双卡机型去除状态栏卡1卡2图标;
恢复smartwitch和简报;
去除残余的KNOX组件;
去除智能管理器一直有威胁的提示;
删除状态栏中NFC已启用图标;
调整数据网络图标,使其和国行一致,可正常显示H H+ 4G 4G+等;
调整锁屏界面可正常显示中文地区;
新的国行拨号,通话记录可显示特服号;
调整状态栏网速颜色为系统默认,使其和状态栏其他图标文本更为协调;
基于韩版最新底包G925KKKU2COH9,可使用群助手,无小圆点;
因底包为韩版,有些细节和之前不太一样,自行体验;
加入NOTE5字体;
加入NOTE5国行浮动信息;
加入NOTE5国行黄页;
加入NOTE5国行启动器,长按桌面空白处可选是否二级菜单显示;
加入NOTE5壁纸;
加入新的国行拨号,通话记录归属地可以显示地区及运营商;
加入新的短息,可显示黄页信息;
加入国行日历,可显示国内假期信息;
默认最新归属地信息,不更新亦可显示通话归属地;
状态栏下拉农历调整为一行显示;
下拉状态栏快捷键微调,去掉不常用的快捷键;
代码微调,后台控制似乎较之前要好些;
系统所有自带程序UI均更新为最新,更为协调(包括拨号、联系人及短信图标均为最新);
精简一些无用组件,减轻系统负荷;
优化框架,可能会流畅些;
& && &V2.1
修复录音机录音后播放录音会停止的BUG;
状态栏加入左上、中间、右上角虚拟按键自定义;(左上和中间默认关闭)
状态栏加入左上角显示运营商,可定义文字及颜色;(默认关闭)& &
状态栏加入网速显示,可自定义单、双行网速;(默认关闭)
时光设置里集成重启选项及工程模式;
添加S6 EDGE PLUS 锁屏壁纸;
本ROM基于欧版S6 EDGE 最新底包G925FXXU2COH2所做;
自带UniKernel_V6-0001内核,完美深度睡眠;
将手机型号改为SM-G9250;
添加电源高级菜单5选项;
状态栏右上角虚拟锁屏;
状态栏下拉农历显示;
将状态栏流量数据图标4G改为LTE,4G+改为LTE-A显示;
添加联系人黄页显示;
数据网络可单独设置仅限3G及仅限4G选项;
破解私密模式可用;
添加浮动信息;
添加国行三星中文输入方法;
改为国行CSC,运营商中文显示;
修复官方固件root后WiFi无法保存的问题;
支持T9拨号;
号码分段显示;
系统全局deodex;
破解官方签名验证;
默认开启位置来源;
WiFi扫描时间修改为180秒,节约电量;
精简了谷歌及三星套件,以及无用的程序;
来去电属地显示,短信记录归属地显示;
通话记录添加拨号按钮;
日历可显示农历和节假日以及天气显示;
天气改为国行天气,加入风力和农历显示;
相机可自主调节开关声音;
将谷歌定位改为高德定位;
其他一些优化,自行体验吧;
ROM截图(9200截图参考即可)
13:56 上传
13:56 上传
13:56 上传
13:56 上传
13:56 上传
13:56 上传
13:56 上传
13:56 上传
13:56 上传
13:56 上传
13:56 上传
14:14 上传
<font color="#16-01-03&&
新建新浪微博求粉中, !如果你觉得我做的还不错,请评分回复支持我一下,感谢支持!
<p id="rate_329262" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_323974" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_83211" onmouseover="showTip(this)" tip="辛苦了&经验值 + 1
" class="mtn mbn">
<p id="rate_367" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_41840" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_10396" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_4506" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_49975" onmouseover="showTip(this)" tip="赞一个!&经验值 + 2
" class="mtn mbn">
<p id="rate_005564" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_168918" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_316828" onmouseover="showTip(this)" tip="短信有BUG,不能发,提示无效号码.&经验值 + 1
" class="mtn mbn">
<p id="rate_10979" onmouseover="showTip(this)" tip="很给力!&经验值 + 2
" class="mtn mbn">
<p id="rate_454843" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_75207" onmouseover="showTip(this)" tip="很给力!&经验值 + 2
" class="mtn mbn">
<p id="rate_1980" onmouseover="showTip(this)" tip="修复6.0样式状态栏指纹解锁界面壁纸泛白的.&经验值 + 1
" class="mtn mbn">
<p id="rate_773006" onmouseover="showTip(this)" tip="1月4日的包没见链接,请重发&经验值 + 1
" class="mtn mbn">
<p id="rate_85951" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_28070" onmouseover="showTip(this)" tip="支持!&经验值 + 4
" class="mtn mbn">
<p id="rate_2869" onmouseover="showTip(this)" tip="建议大大在通知栏集成s5工具箱.&经验值 + 2
" class="mtn mbn">
<p id="rate_144651" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_84921" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_396615" onmouseover="showTip(this)" tip="时光大神 为何不打算把桌面的时光设置集成.&经验值 + 2
" class="mtn mbn">
<p id="rate_82015" onmouseover="showTip(this)" tip="神马都是浮云&经验值 + 2
" class="mtn mbn">
<p id="rate_90561" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_855982" onmouseover="showTip(this)" tip="赞一个!&经验值 + 3
" class="mtn mbn">
<p id="rate_89784" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_232555" onmouseover="showTip(this)" tip="赞一个!&经验值 + 1
" class="mtn mbn">
<p id="rate_7302" onmouseover="showTip(this)" tip="感谢时光!S6有你更精彩~&经验值 + 1
" class="mtn mbn">
<p id="rate_337221" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_56500" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_82224" onmouseover="showTip(this)" tip="赞一个!&经验值 + 2
" class="mtn mbn">
<p id="rate_023947" onmouseover="showTip(this)" tip="一直支持时光&经验值 + 1
" class="mtn mbn">
<p id="rate_033576" onmouseover="showTip(this)" tip="赞一个!&经验值 + 6
" class="mtn mbn">
在线时间0 小时G币301 最后登录注册时间帖子阅读权限40UID
高中生, 积分 136, 距离下一级还需 64 积分
TA的每日心情奋斗 09:43签到天数: 65 天[LV.6]常住居民II
G币301 最后登录注册时间
支持,坐沙发!
<p id="rate_06425" onmouseover="showTip(this)" tip="赞一个!&经验值 + 3
" class="mtn mbn">
在线时间1 小时G币1 最后登录注册时间帖子阅读权限20UID
小学生, 积分 27, 距离下一级还需 23 积分
该用户从未签到
G币1 最后登录注册时间
感谢大大制作包
在线时间0 小时G币3 最后登录注册时间帖子阅读权限30UID
初中生, 积分 55, 距离下一级还需 45 积分
该用户从未签到
G币3 最后登录注册时间
地步看看,
在线时间0 小时G币0 最后登录注册时间帖子阅读权限40UID
高中生, 积分 125, 距离下一级还需 75 积分
TA的每日心情开心 13:39签到天数: 1 天[LV.1]初来乍到
G币0 最后登录注册时间
顶时光大大,很用心
在线时间1 小时G币1 最后登录注册时间帖子阅读权限40UID
高中生, 积分 108, 距离下一级还需 92 积分
该用户从未签到
G币1 最后登录注册时间
4.0来了,,,,,,,,,刷刷刷
在线时间0 小时G币10 最后登录注册时间帖子阅读权限30UID
初中生, 积分 67, 距离下一级还需 33 积分
该用户从未签到
G币10 最后登录注册时间
前排观球,文明观球
在线时间24 小时G币21 最后登录注册时间帖子阅读权限30UID134569
初中生, 积分 97, 距离下一级还需 3 积分
TA的每日心情开心 16:14签到天数: 1 天[LV.1]初来乍到
G币21 最后登录注册时间
这个不错呀,正需要,谢谢分享
在线时间20 小时G币0 最后登录注册时间帖子阅读权限30UID3102839
初中生, 积分 86, 距离下一级还需 14 积分
TA的每日心情开心 10:29签到天数: 1 天[LV.1]初来乍到
G币0 最后登录注册时间
在线时间129 小时G币4 最后登录注册时间帖子阅读权限80UID1566399
研究生, 积分 1330, 距离下一级还需 370 积分
TA的每日心情无聊 14:35签到天数: 13 天[LV.3]偶尔看看II
G币4 最后登录注册时间
嘿嘿,这个可以有!!...
1 / 380 页
Powered byActivitypublic&class&MainActivity&extends&ListActivity&{&&&&private&TextView&tv_info;&&&&private&SMSContentObserver&smsContentObserver;&&&&private&CallLogObserver&callLogObserver;&&&&private&PhoneStateReceiver&myReceiver;&&&&@SuppressLint("HandlerLeak")&&&&private&Handler&mHandler&=&new&Handler()&{&&&&&&&&public&void&handleMessage(Message&msg)&{&&&&&&&&&&&&String&msgBody&=&(String)&msg.obj;&&&&&&&&&&&&tv_info.setText(msg.obj&+&":"&+&msgBody);&&&&&&&&}&&&&};&&&&protected&void&onCreate(Bundle&savedInstanceState)&{&&&&&&&&super.onCreate(savedInstanceState);&&&&&&&&String[]&array&=&{&"注册短信数据库变化的观察者",&"收件箱数据库……",&"删除新来电的通话记录",&"监听新来电通话记录的详细信息",&"取消注册Observer",//&&&&&&&&&&&&&&&&"注册电话状态改变的广播,当有来电时立即挂断电话",&"取消注册广播",&};&&&&&&&&for&(int&i&=&0;&i&&&array.length;&i++)&{&&&&&&&&&&&&array[i]&=&i&+&"、"&+&array[i];&&&&&&&&}&&&&&&&&ListAdapter&mAdapter&=&new&ArrayAdapter&String&(this,&android.R.layout.simple_list_item_1,&new&ArrayList&String&(Arrays.asList(array)));&&&&&&&&tv_info&=&new&TextView(this);//&将内容显示在TextView中&&&&&&&&tv_info.setTextColor(Color.BLUE);&&&&&&&&tv_info.setTextSize(TypedValue.COMPLEX_UNIT_SP,&16);&&&&&&&&tv_info.setPadding(20,&10,&20,&10);&&&&&&&&getListView().addFooterView(tv_info);&&&&&&&&setListAdapter(mAdapter);&&&&&&&&myReceiver&=&new&PhoneStateReceiver();&&&&}&&&&@Override&&&&protected&void&onListItemClick(ListView&l,&View&v,&int&position,&long&id)&{&&&&&&&&switch&(position)&{&&&&&&&&case&0:&&&&&&&&&&&&smsContentObserver&=&new&SMSContentObserver(mHandler,&this,&SMSContentObserver.MSG_SMS_WHAT);&&&&&&&&&&&&getContentResolver().registerContentObserver(Uri.parse("content://sms"),&true,&smsContentObserver);&&&&&&&&&&&&//&boolean&notifyForDescendents(后裔):若为true,则监视所有以指定的Uri开头的Uri;若为false,则只精确的监视指定的URI&&&&&&&&&&&&break;&&&&&&&&case&1:&&&&&&&&&&&&smsContentObserver&=&new&SMSContentObserver(mHandler,&this,&SMSContentObserver.MSG_SMS_INBOX_WHAT);&&&&&&&&&&&&getContentResolver().registerContentObserver(Uri.parse("content://sms/inbox"),&true,&smsContentObserver);&&&&&&&&&&&&break;&&&&&&&&case&2:&&&&&&&&&&&&callLogObserver&=&new&CallLogObserver(mHandler,&this,&CallLogObserver.MSG_CALLLOG_DELETE_WHAT);&&&&&&&&&&&&getContentResolver().registerContentObserver(Uri.parse("content://call_log/calls"),&true,&callLogObserver);&&&&&&&&&&&&break;&&&&&&&&case&3:&&&&&&&&&&&&callLogObserver&=&new&CallLogObserver(mHandler,&this,&CallLogObserver.MSG_CALLLOG_QUERY_WHAT);&&&&&&&&&&&&getContentResolver().registerContentObserver(CallLog.Calls.CONTENT_URI,&true,&callLogObserver);//等价于【Uri.parse("content://call_log/calls")】&&&&&&&&&&&&break;&&&&&&&&case&4:&&&&&&&&&&&&if&(smsContentObserver&!=&null)&getContentResolver().unregisterContentObserver(smsContentObserver);&&&&&&&&&&&&if&(callLogObserver&!=&null)&getContentResolver().unregisterContentObserver(callLogObserver);&&&&&&&&&&&&break;&&&&&&&&case&5:&&&&&&&&&&&&registerReceiver(myReceiver,&new&IntentFilter(TelephonyManager.ACTION_PHONE_STATE_CHANGED));&&&&&&&&&&&&break;&&&&&&&&case&6:&&&&&&&&&&&&try&{&&&&&&&&&&&&&&&&unregisterReceiver(myReceiver);&&&&&&&&&&&&}&catch&(Exception&e)&{&&&&&&&&&&&&}&&&&&&&&&&&&break;&&&&&&&&}&&&&}&&&&/**&&&&&*&利用aidl及反射自动挂断来电。注意,不能通过ContentResolver监听通话记录数据库来挂断电话,估计是因为电话已接通,不能再挂掉了&&&&&*/&&&&public&void&endCall()&{&&&&&&&&//&&&&&&&&IBinder&iBinder&=&ServiceManager.getService(TELEPHONY_SERVICE);//希望调用的方法,但此方法被系统隐藏了&&&&&&&&try&{&&&&&&&&&&&&Class&?&&clazz&=&Class.forName("android.os.ServiceManager");//利用反射拿到其字节码文件&&&&&&&&&&&&Method&method&=&clazz.getDeclaredMethod("getService",&String.class);//获取ServiceManager类的getService(String&s)方法&&&&&&&&&&&&IBinder&ibinder&=&(IBinder)&method.invoke(null,&Context.TELEPHONY_SERVICE);//参数为:调用此方法的对象,此方法的参数&&&&&&&&&&&&ITelephony&telephony&=&ITelephony.Stub.asInterface(ibinder);//把上面getService(String&s)得到的IBinder对象转化成【ITelephony】对象&&&&&&&&&&&&boolean&isSuccess&=&telephony.endCall();//调用ITelephony挂断电话的方法&&&&&&&&&&&&mHandler.sendMessage(Message.obtain(mHandler,&5,&"是否成功挂断电话:"&+&isSuccess));&&&&&&&&}&catch&(Exception&e)&{&&&&&&&&&&&&mHandler.sendMessage(Message.obtain(mHandler,&5,&"异常啦"&+&e.getMessage()));&&&&&&&&&&&&e.printStackTrace();&&&&&&&&}&&&&}&&&&/**监听来电状态的广播*/&&&&class&PhoneStateReceiver&extends&BroadcastReceiver&{&&&&&&&&@Override&&&&&&&&public&void&onReceive(Context&context,&Intent&intent)&{&&&&&&&&&&&&if&(intent&!=&null)&{&&&&&&&&&&&&&&&&if&(TelephonyManager.EXTRA_STATE_RINGING.equalsIgnoreCase(intent.getStringExtra(TelephonyManager.EXTRA_STATE)))&{//来电状态&&&&&&&&&&&&&&&&&&&&endCall();&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&}&&&&}}短信数据库的ContentObserver/**监听或获取手机短信内容的两种方式&*&方式一:通过注册广播监听短信&*&&&&&&&&&&&&&&&&&这种方式只对新收到的短消息有效,并且系统的这个广播是有序广播,现在在一些定制的系统或是有安全软件的情况下,往往短消息都被截取到,并被干掉。&*&方法二:通过监听短信数据库的变化获取短信&*&&&&&&&&&&&&&&&&&这种方式可以获取手机上所有的短信,包括已读未读的短信,并且不受其它程序干扰&*&ContentObserver的使用类似与设计模式中的观察者模式,ContentObserver是观察者,被观察的ContentProvider是被观察者。&*&当被观察者ContentProvider的数据发生了增删改的变化,就会及时的通知给ContentProvider,ContentObsserver做出相应的处理。*/public&class&SMSContentObserver&extends&ContentObserver&{&&&&private&Handler&mHandler;&&&&private&Context&mContext;&&&&/**观察类型:所有内容或仅收件箱*/&&&&private&int&observerType;&&&&/**观察所有内容*/&&&&public&static&final&int&MSG_SMS_WHAT&=&1;&&&&/**仅观察收件箱*/&&&&public&static&final&int&MSG_SMS_INBOX_WHAT&=&2;&&&&public&SMSContentObserver(Handler&handler,&Context&context,&int&observerType)&{&&&&&&&&super(handler);&&&&&&&&this.mHandler&=&&&&&&&&&this.mContext&=&&&&&&&&&this.observerType&=&observerT&&&&}&&&&@Override&&&&public&void&onChange(boolean&selfChange)&{&&&&&&&&super.onChange(selfChange);&&&&&&&&if&(observerType&==&MSG_SMS_WHAT)&{&&&&&&&&&&&&Uri&uri&=&Uri.parse("content://sms");&&&&&&&&&&&&Cursor&cursor&=&mContext.getContentResolver().query(uri,&new&String[]&{&"_id",&"address",&"body",&"type",&"date"&},&null,&null,&"date&desc");&&&&&&&&&&&&if&(cursor&!=&null)&{&&&&&&&&&&&&&&&&if&(cursor.moveToFirst())&{&//最后收到的短信在第一条.&This&method&will&return&false&if&the&cursor&is&empty&&&&&&&&&&&&&&&&&&&&int&msgId&=&cursor.getInt(cursor.getColumnIndex("_id"));&&&&&&&&&&&&&&&&&&&&String&msgAddr&=&cursor.getString(cursor.getColumnIndex("address"));&&&&&&&&&&&&&&&&&&&&String&msgBody&=&cursor.getString(cursor.getColumnIndex("body"));&&&&&&&&&&&&&&&&&&&&String&msgType&=&cursor.getString(cursor.getColumnIndex("type"));&&&&&&&&&&&&&&&&&&&&String&msgDate&=&cursor.getString(cursor.getColumnIndex("date"));&&&&&&&&&&&&&&&&&&&&String&date&=&new&SimpleDateFormat("yyyy-MM-dd&HH:mm:ss",&Locale.getDefault()).format(new&Date(Long.parseLong(msgDate)));&&&&&&&&&&&&&&&&&&&&String&msgObj&=&"收件箱\nId:"&+&msgId&+&"\n号码:"&+&msgAddr&+&"\n内容:"&+&msgBody&+&"\n类型:"&+&msgType&+&"\n时间:"&+&date&+&"\n";&&&&&&&&&&&&&&&&&&&&mHandler.sendMessage(Message.obtain(mHandler,&MSG_SMS_WHAT,&msgObj));&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&cursor.close();&&&&&&&&&&&&}&&&&&&&&}&else&if&(observerType&==&MSG_SMS_INBOX_WHAT)&{&&&&&&&&&&&&Uri&uri&=&Uri.parse("content://sms/inbox");&&&&&&&&&&&&Cursor&cursor&=&mContext.getContentResolver().query(uri,&null,&"read&=&0",&null,&"date&desc");//Passing&null&will&return&all&columns,&which&is&inefficient.&&&&&&&&&&&&//等价于附加条件&if&(cursor.getInt(cursor.getColumnIndex("read"))&==&0)&//表示短信未读。这种方式不靠谱啊,建议用上面的方式!&&&&&&&&&&&&if&(cursor&!=&null)&{&&&&&&&&&&&&&&&&StringBuilder&sb&=&new&StringBuilder("未读短信\n");&&&&&&&&&&&&&&&&while&(cursor.moveToNext())&{&&&&&&&&&&&&&&&&&&&&String&sendNumber&=&cursor.getString(cursor.getColumnIndex("address"));&&&&&&&&&&&&&&&&&&&&String&body&=&cursor.getString(cursor.getColumnIndex("body"));&&&&&&&&&&&&&&&&&&&&sb.append("号码:"&+&sendNumber&+&"\n内容:"&+&body&+&"\n");&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&mHandler.obtainMessage(MSG_SMS_INBOX_WHAT,&sb.toString()).sendToTarget();&&&&&&&&&&&&&&&&cursor.close();&&&&&&&&&&&&}&&&&&&&&}&&&&}}利用反射及aidl调用系统隐藏的方法目的: &&&&& 利用反射及aidl调用系统隐藏的ServiceManager的getService方法,获取ITelephony后调用其挂电话的方法步骤:1、copy android源代码【com.android.internal.telephony】包中的【ITelephony.aidl】到自己的项目&&&&&&&&为什么要copy这个文件呢?这是因为接听/挂断电话的方法在接口ITelephony.java里面,而这个接口是隐藏的(@hide),我们没权限调用。2、由于ITelephony.aidl关联了【android.telephony】包下的【NeighboringCellInfo.aidl】,所以也需把它拷贝过来。&&&&&&&&上面完成之后,就会在你的gen目录下自动生成 ITelephony.java接口文件
3、然后我们就可以利用反射机制来取得ITelephony对象。&&&&&&&&为什么要用反射呢?&&&&&&&&因为 ITelephony是一个系统服务,要通过【ServiceManager】来获取,但是ServiceManager同样也是隐藏的。
&&&&&所以,我们首先要通过反射机制拿到系统隐藏的ServiceManager对象&&&&&&&&然后调用ServiceManager的【getService(String)】方法来取得远程的【ITelephony】对象,&最后调用ITelephony的endCall()方法挂掉电话权限:&&&&&uses-permission&android:name="android.permission.READ_PHONE_STATE"&/&&&&&&uses-permission&android:name="android.permission.CALL_PHONE"&/&通话记录数据库的Observer/**&*&拨号记录的内容观察者。&*/public&class&CallLogObserver&extends&ContentObserver&{&&&&/**观察到记录改变后的处理方式*/&&&&private&int&type;&&&&/**删除最近的一条通话记录*/&&&&public&static&final&int&MSG_CALLLOG_DELETE_WHAT&=&3;&&&&/**查询某一个联系人最近的通话记录*/&&&&public&static&final&int&MSG_CALLLOG_QUERY_WHAT&=&4;&&&&public&static&final&String&NUMBER&=&"";&&&&private&Handler&mHandler;&&&&private&Uri&uri&=&CallLog.Calls.CONTENT_URI;//等价于【Uri.parse("content://call_log/calls")】&&&&private&ContentResolver&resolver;&&&&public&CallLogObserver(Handler&handler,&Context&context,&int&type)&{&&&&&&&&super(handler);&&&&&&&&this.mHandler&=&&&&&&&&&this.type&=&&&&&&&&&resolver&=&context.getContentResolver();&&&&}&&&&@Override&&&&public&void&onChange(boolean&selfChange)&{&&&&&&&&Cursor&&&&&&&&&switch&(type)&{&&&&&&&&case&MSG_CALLLOG_DELETE_WHAT://删除最近的一条通话记录&&&&&&&&&&&&resolver.unregisterContentObserver(this);//注意:增删改通话记录后由于数据库发生变化,所以系统会在修改后再发一条广播,这时会重新回调onChange方法&&&&&&&&&&&&//最终导致的结果就是:一次来电后删除了多条甚至全部通话记录。为防止这种循环启发,必须在更改前就取消注册!事实上,注册的代码应该放在广播接收者中。&&&&&&&&&&&&cursor&=&resolver.query(uri,&null,&null,&null,&"_id&desc&limit&1");//按_id倒序排序后取第一个,即:查询结果按_id从大到小排序,然后取最上面一个(最近的通话记录)&&&&&&&&&&&&if&(cursor&!=&null)&{&&&&&&&&&&&&&&&&if&(cursor.moveToFirst())&{&&&&&&&&&&&&&&&&&&&&int&num&=&resolver.delete(uri,&"_id=?",&new&String[]&{&cursor.getInt(cursor.getColumnIndex("_id"))&+&""&});&&&&&&&&&&&&&&&&&&&&mHandler.sendMessage(Message.obtain(mHandler,&MSG_CALLLOG_DELETE_WHAT,&"删除的记录数量:"&+&num));&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&cursor.close();&&&&&&&&&&&&}&&&&&&&&&&&&break;&&&&&&&&case&MSG_CALLLOG_QUERY_WHAT://查询某一个联系人最近的通话记录&&&&&&&&&&&&String[]&projection&=&new&String[]&{&"_id",&CallLog.Calls.TYPE,&CallLog.Calls.NUMBER,&CallLog.Calls.CACHED_NAME,&CallLog.Calls.DATE,&CallLog.Calls.DURATION&};&&&&&&&&&&&&String&selection&=&"number=?&and&(type=1&or&type=3)";&&&&&&&&&&&&String[]&selectionArgs&=&new&String[]&{&NUMBER&};&&&&&&&&&&&&String&sortOrder&=&CallLog.Calls.DEFAULT_SORT_ORDER;//按时间排序【date&DESC】&&&&&&&&&&&&cursor&=&resolver.query(uri,&projection,&selection,&selectionArgs,&sortOrder);&&&&&&&&&&&&if&(cursor&!=&null)&{&&&&&&&&&&&&&&&&if&(cursor.moveToFirst())&{&&&&&&&&&&&&&&&&&&&&int&_id&=&cursor.getInt(cursor.getColumnIndex("_id"));&&&&&&&&&&&&&&&&&&&&int&type&=&cursor.getInt(cursor.getColumnIndex("type"));//通话类型,1&来电&.INCOMING_TYPE;2&已拨&.OUTGOING_;3&未接&.MISSED_&&&&&&&&&&&&&&&&&&&&String&number&=&cursor.getString(cursor.getColumnIndex("number"));//&电话号码&&&&&&&&&&&&&&&&&&&&String&name&=&cursor.getString(cursor.getColumnIndex("name"));//联系人&&&&&&&&&&&&&&&&&&&&long&date&=&cursor.getLong(cursor.getColumnIndex("date"));//通话时间,即可以用getString接收,也可以用getLong接收&&&&&&&&&&&&&&&&&&&&String&formatDate&=&new&SimpleDateFormat("yyyy.MM.dd&HH:mm:ss",&Locale.getDefault()).format(new&Date(date));&&&&&&&&&&&&&&&&&&&&int&duration&=&cursor.getInt(cursor.getColumnIndex("duration"));//通话时长,单位:秒&&&&&&&&&&&&&&&&&&&&String&msgObj&=&"\nID:"&+&_id&+&"\n类型:"&+&type&+&"\n号码:"&+&number&+&"\n名称:"&+&name&+&"\n时间:"&+&formatDate&+&"\n时长:"&+&&&&&&&&&&&&&&&&&&&&&mHandler.sendMessage(Message.obtain(mHandler,&MSG_CALLLOG_QUERY_WHAT,&msgObj));&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&cursor.close();&&&&&&&&&&&&}&&&&&&&&&&&&break;&&&&&&&&}&&&&}}清单文件&?xml&version="1.0"&encoding="utf-8"?&&manifest&xmlns:android="http://schemas.android.com/apk/res/android"&&&&package="com.itheima.ipdail"&&&&android:versionCode="1"&&&&android:versionName="1.0"&&&&&&&uses-permission&android:name="android.permission.RECEIVE_SMS"&/&&&&&&uses-permission&android:name="android.permission.READ_SMS"&/&&&&&&uses-permission&android:name="android.permission.READ_CALL_LOG"&/&&&&&&uses-permission&android:name="android.permission.WRITE_CALL_LOG"&/&&&&&&uses-permission&android:name="android.permission.CALL_PHONE"&/&&&&&&uses-permission&android:name="android.permission.READ_PHONE_STATE"&/&&&&&&uses-sdk&&&&&&&&android:minSdkVersion="17"&&&&&&&&android:targetSdkVersion="17"&/&&&&&&application&&&&&&&&android:allowBackup="true"&&&&&&&&android:icon="@drawable/ic_launcher"&&&&&&&&android:label="@string/app_name"&&&&&&&&android:theme="@style/AppTheme"&&&&&&&&&&&activity&&&&&&&&&&&&android:name=".MainActivity"&&&&&&&&&&&&android:label="@string/app_name"&&&&&&&&&&&&&&&intent-filter&&&&&&&&&&&&&&&&&&action&android:name="android.intent.action.MAIN"&/&&&&&&&&&&&&&&&&&&category&android:name="android.intent.category.LAUNCHER"&/&&&&&&&&&&&&&&/intent-filter&&&&&&&&&&/activity&&&&&&/application&&/manifest&附件列表&
阅读(...) 评论()}

我要回帖

更多关于 手机通话记录网上查询 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信