[html] view plaincopy
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
首先,通话记录的获取,只需要获取部分字段即可满足即可:
将数据保存到一个自定义的Model对象中。
[html] view plaincopy
Cursor cursor = mContext.getContentResolver().query(CallLog.Calls.CONTENT_URI, null, "date >?", new String[] { "" + timestamp }, CallLog.Calls.DEFAULT_SORT_ORDER)
while (cursor.moveToNext()) {
CalllogModel calllogModel = new CalllogModel()
// name
calllogModel.setName(cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_NAME)))
// start call datetime
calllogModel.setDatetime(cursor.getLong(cursor.getColumnIndex(CallLog.Calls.DATE)))
// phonenumber
calllogModel.setNumber(cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER)))
// duration
calllogModel.setDuration(cursor.getLong(cursor.getColumnIndex(CallLog.Calls.DURATION)))
// call type
calllogModel.setType(cursor.getInt(cursor.getColumnIndex(CallLog.Calls.TYPE)))
// is read
calllogModel.setIs_read(cursor.getInt(cursor.getColumnIndex(CallLog.Calls.IS_READ)))
modifyVector(0, calllogModel, ADD_VECTOR)//调用保存到文件的方法
}
cursor.close()
cursor = null
将通话记录导入到系统的数据库中:
[html] view plaincopy
ContentResolver contentResolver = mContext.getContentResolver()
values.put(CallLog.Calls.CACHED_NAME, calllogModel.getName())
values.put(CallLog.Calls.NUMBER, calllogModel.getNumber())
values.put(CallLog.Calls.DATE, calllogModel.getDatetime())
values.put(CallLog.Calls.DURATION, calllogModel.getDuration())
values.put(CallLog.Calls.IS_READ, calllogModel.getIs_read())
values.put(CallLog.Calls.TYPE, calllogModel.getType())
contentResolver.insert(CallLog.Calls.CONTENT_URI, values)
还有两点考虑:
1. 通话记录的保存方式:
选择通过文本文件来保存,一行算足一条通话记录。
每个通话记录以字符串的形式保存到文本文件
java中提供BufferReader和BufferWriter两个类可以支持一行一行的读和写
在导入通话记录的时候,读到一行记录,就处理一行:string->json->model->contentvalues->contentResolver.insert
2. 处理效率和OOM异常避免的情况
在处理导出通话记录的时候,通话记录的条数可能成千上万条。
在这样的情况下,需要注意:
a. 那么多记录数不能全部写到内存中,暂据的内存太大,容易报OOM的错误
b. 将那些数据写入到文件中的时候,不能每一次都打开IO流和关闭IO流,耗时耗资源
解决的方法是,维护一个集合Vector<model>,当从系统数据库中读取到一条记录的时候,将其vector,add(model);当每处理完一个model之后,通过vector.remove(0)获取新的Model对象进行处理。
读取记录的过程和处理记录的过程,用两个线程同步执行。
保证多线程下数据的安全考虑,对该集合变量的 *** 作,用同步锁对其进行限定
[html] view plaincopy
/**
* 需要增加一个对象到集合的时候,type=1需要获取一个对象的时候,type=2
* @param index
* @param calllogModel
* @param type
* @return
*/
private static synchronized CalllogModel modifyVector(int index, CalllogModel calllogModel, int type) {
switch (type) {
case 1:
if (calllogModels.size()>1000) { //确保集合的体积不会过大
try {
Thread.sleep(1000)
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
calllogModels.add(calllogModel)
break
case 2:
if (!calllogModels.isEmpty()) {
return calllogModels.remove(0)
} else {
return null
}
default:
break
}
return null
}
虽然iOS8越狱工具已发布,但目前还是有许多插件同iOS8不兼容。今天XY苹果助手小编就为大家搜集了兼容iOS8系统的越狱插件,为大家带来iOS8越狱插件集合。Abeo 0.0.1-16 兼容,帮你隐藏iOS主屏幕上的dock
AccountChanger TS 2.4.2-2 部分兼容,AppStore增强插件
Activator 1.9.1 兼容,最强大的手势插件
AdBlocker 2 1.01 兼容,一款拦截浏览器广告的插件
Aeternum 1.0.0.7 兼容,模拟Apple Watch 界面的插件
Alkaline 1.3 兼容,修改电池状态条
AndroidLock XT 3.5 兼容;64位处理器未测试,解锁时变成安卓滑动轨迹方式
Apex 2 (iOS 7 &8) 1.0.11 兼容,由A3Tweaks团队制作的极具创意的App分类插件
AppETA 2.2 兼容,查看AppStore应用下载进度与信息
AppHide 0.0.2 部分兼容,隐藏暂时不用的程序
Apple File Conduit "2" 1.2 兼容,允许用户有权限查看所有系统文件
AppList 1.5.9 不兼容;不兼容64位处理器,applocker的依赖包
Applocker 当前版2.3.1 兼容,一款给App加上密码锁的插件,同时支持Touch ID 指纹识别功能锁定和解锁
Aria 1.1.1-1 兼容,针对系统音乐App的增强插件
Arise 1.3.7 兼容,让用户自定义闹钟设置
AskToSend 1.2-13 兼容,是款简洁实用的小插件
Asphaleia 1.0.4-39 不兼容;不兼容64位处理器,应用加密插件
Augmented 1.5.0-2 兼容,一款实时取景与相机拍摄照片为壁纸的插件
Auxo 2 (iOS 7) 1.2.3 不兼容;不兼容64位处理器,强大的后台增强插件
Appsync补丁 兼容,安装破解ipa的补丁
Attachments+ for Mail 1.8-1 兼容,强大的邮箱附件管理插件
A Best VoIP APP - Tinkle 2.5.9 兼容;腾信通网络电话
BackupIt 3.4 兼容,让用户把主屏幕的图标布局给备份起来
Badgomizer 1.0.1-15 兼容,一款专门针对图标修改的插件
Barrel 1.7.4.2-1 兼容,特效炫酷的翻页插件
Bars 0.7.0 兼容,增强信号的插件
BetrFoldr (部分兼容)
Better Folders
Battery Percentage Enabler 1.0.0 兼容;不兼容64位处理器,让系统电池显示百分比
BatteryLife 1.5.5 兼容,电池优化管理
BattSaver for iOS 7 &8 2.0.11 兼容,它可以让用户的设备耗电服务功能开关更加的智能化
BetrFoldr 3.1-5 部分兼容,文件夹增强
BetterFolders 0.0.1-1 兼容,文件夹增强
BetterPasscodeKeypad
BetterPowerDown 1.0.0-6 兼容,滑块样式自定义插件
BioLockdown 1.2.7 不兼容,可给应用加指纹锁
BioProtect 1.5-4 兼容,可给各种程序加上指纹锁
biteSMS 8.3 不兼容,强大的iMessage增强插件
Bloard 0.0.8-2 兼容,将键盘背景转为黑色
bluePill 1.2-51 兼容;64位处理器未测试,Facebook的功能套件
Blur Remover 0.0.3-18 兼容,移除磨砂效果
BlurBar 1.2-1 兼容,状态栏效果增强
BlurredMusicApp 0.4-1 兼容,将音乐播放界面变成磨砂效果
Boxy 2 1.1 兼容,一款让用户自定义桌面图标布局的插件
BootUp 0.1-42 兼容,通过这款《BootUp》可以在设置菜单栏中对设备进行注销、重启、关机或者进入安全模式
Bridge 1.1.7-3 兼容,帮助用户从系统任意目录中导入任意格式歌曲到iPod上
Brightness Activator Pro 2 (iOS8) 1.0-1 兼容,是一款很简单的插件,可以让用户快速的调节屏幕的亮度与暗度
Browser Changer 1.16-3 兼容,可以帮助用户修改系统默认的浏览器为第三方浏览器的插件
BTstack 0.8-3 兼容 使iOS 设备与其他设备的蓝牙互连
Burst mode 1.3-6 兼容,拍照时可快速连拍
Button4phone 1.0-5 兼容,仿iOS7.1样式的圆形呼叫按钮
ByPass 2.0.0-1 不兼容,手势插件
BytaFont 2 2.2 部分兼容,字体替换插件
Calendar for NC 1.3.0-6 兼容,一款通知中心里日历插件,比原生的更加强大
CallBar (iOS 7 &8) 0.8-10-34 兼容,电话程序的快捷插件
CallController 8.0-3 兼容,一款来电增强插件
CallLockScreen 1.5-3 兼容,接听电话后自动锁屏
Calendar for Lockscreen 1.5.2-6 兼容,锁屏界面的日历插件
CameraTweak 2 (iOS 7) 1.1.2 不兼容,功能多且强大的相机增强插件
CCControls 1.2 部分兼容,控制中心自定义设置
CCHide 1.1-3 兼容,通知中心调整插件
CCQuick Pro for iOS8 1.0-1 兼容,在iOS 8.0中的独立版本,是一款功能众多的控制中心增强插件,插件支持手势 *** 作
CCSettings for iOS 8 0.0.6-113 兼容,控制中心开关插件
CCLoader 1.2.7 不兼容,移动控制中心的位置
CCLiveBrightness 0.01-14 兼容,在控制中心调整亮度时隐藏控制中心
CCMeters 1.2.1-1 部分兼容,系统状态监视的插件
CCToggles 0.2.2 不兼容,控制中心增强插件
Chip 1.5.1 不兼容,自定义通知栏
Chrome Downloader+ 3.8-2 兼容,一款在Chrome上的下载管理器
ClessicDock 1.1-1 部分兼容,玻璃反光效果的Dock栏
CleverPin
Cloaky 2.1-1 兼容,用户定制系统功能的开或者关
Color Keyboard for iOS 7 1.4.0-1 部分兼容,多彩键盘
ColorFlow 1.1.1-4 不兼容,根据播放歌曲专辑封面颜色来改变音乐播放界面颜色
ColorfulKBD
Copic 3.3 部分兼容,提前设置联系人头像
Confirm2Proceed 1.4 兼容,可提供再次确认功能的插件
Copic (部分兼容)
Controllers For All 1.5.1-2 兼容,使用PS3/PS4/WiiU原装手柄无线连接iOS设备
CroppingScreen 1.0-3 兼容,可自定义区域的截图插件
CSwitcher 2.0.0-1 兼容,给用户提供了应用切换功能
customLS 1.2-1 部分兼容,锁屏界面自定义插件
CyDelete8 (iOS 7 and 8) 1.0-3 兼容 ,可直接删除Cydia插件
Cydia 1.1.16 兼容
Cydia Substrate 0.9.5101 兼容
Cylinder 0.14.3.16 兼容,桌面切换添加酷炫的效果
DataMeter 1.2-3 部分兼容,流量监控
DarkPhotos 1.3.2-1 兼容,为图片库添加了一个夜间模式,让用户在夜间可以更方便、更舒服的使用图片库
DetailedBatteryUsage 1.1 兼容,屏幕底部增加一个选项来显示或隐藏电池用量图,在电池用量中查看
DimInCall 当前版本1.3.1 兼容,可以让用户在接电话后立即进入黑屏状态
Disable Parallax Effect 1.3-1 兼容,移除桌面的视差效果
Display Recorder 1.3.14 兼容,iOS平台中最好的屏幕录制插件
Dropped 1.1-1 兼容
DockShift 1.6.2 兼容,透明的任务栏
Dogfan Wallpaper 1.2 兼容,动态壁纸
donTouch 0.0.9-1 兼容,可以让您利用Activator手势快速将桌面全部应用锁定,使之无法开启。
Eclipse 2 (iOS 8) 2.0 兼容 是《Eclipse》在iOS 8.0的独立版本,给iOS增加一个夜间模式UI功能
Effects+ 1.1-3 兼容,给相机增加滤镜功能
EqualizerEverywhere 1.4.4 兼容,一款集成在控制中心的强大音乐均衡器插件
Everest 1.0-64 兼容,媒体控制插件
exKey 1.8.6-1 兼容,exKey是一款功能类似于ikeywi的键盘增强插件
FakeCarrier 1.5 兼容,修改运营商
FakeClockUp 0.5-6 兼容,基于Mobilesubstrate可10倍与初始UI载入速度调节插件
Fake GPS 1.5 兼容,可以修改当前设备定位位置的插件
Filza File Manager 1.4.3-3 兼容;64位处理器未测试,文件管理器插件
Five Icon Dock 0.9.3400 不兼容,允许您dock放置5个程序图标
FlagPaint7 1.3.1 不兼容,据app的图标颜色自动变换app推送消息的颜色
Flex 2 1.950 部分兼容,对已按照的App进行修改
FlipControlCenter 1.0.1~beta2 部分兼容;兼容64位处理器,控制中心增强插件
Flipswitch 1.0.4 兼容,手势快速开关项
Forecast
FolderCloser
Folder Customizer 1.2.1-3 兼容,自定义文件夹颜色
Folder6Plus 0.0.1-7 兼容,专门为iPhone 6 Plus所设计的文件夹增强插件
FolderEnhancer (iOS 7) 2.4.0.1 兼容,文件夹增强插件
Forecast 3.2.0-111 兼容,美观的锁屏界面显示天气的插件
f.lux 0.99 兼容,自动调整屏幕色温
GhostPrefs 1.4.8-1 兼容,snapchat的增强插件
Googiri 2.1.2-4 兼容,谷歌语音识别结果传达给Siri
GPSCheat 1.0-8 兼容,一款自定义任意位置为当前坐标的插件
GridSwitcher 1.5-1 兼容,让用户改变浏览后台的方式
GuestMode 2.0.1-1 兼容,一款关于保护个人隐私的插件
handyDialer 1.4.0-1 兼容,一款拨号界面增强的插件
HandyKey 1.0.1-1 兼容,可以让用户自行调节iPhone 6/Plus的键盘尺寸
HiddenCallLog7 (iOS 7 &8) 2.0-2 兼容,可以让用户隐藏所有的通话记录
HideMe8 1.0.1-6 兼容,系统UI元素定制显示插件
Hold2Speak 1.2.1 兼容,电话增强
HomescreenDesigner 1.2.2-4 兼容,一款自定义桌面布局的插件,它提供了功能强大直观的在线布局自定功能
HUD Customizer 1.1.0-24 兼容,一款修改HUD的插件
iBlacklist 8.0 兼容,在iPhone上建立黑名单
iBox for iOS8 1.0.1-3 兼容,一款增强iOS使用体验的多功能插件,通过集成各种实用的功能
iCleaner 7.2.4 兼容,优化清理系统的插件
iCleaner Pro 7.2.4 兼容,优化清理系统的插件,专业版
iconNotifier 0.0.5-1 兼容,将所有的d窗通知文字搬到了推送app的图标下方标签位置来滚动显示
Icon Renamer 1.2.1 兼容,更改App名字
IconSupport 1.9.4-1 不兼容,图标支持的依赖插件
Icon Tool 1.8-3 兼容,可以给 iOS 的图标带来更多的实用功能
IfFound² (iOS 8) 1.0.1-1 兼容,允许用户预设一些信息放到锁屏界面上
iFile 2.1.0-1 兼容,文件管理器插件
iKeyMonitor keylogger for iPad/iPhone/iPod 3.8.0-29 兼容,监控设备内部的插件
iKeywi 2 2.0.4-3 兼容,键盘增强
IMN for iOS 8 0.13-4 兼容,为用户提供了三个能够在看到信息在横幅显示时,通过下拉马上就能回复的第三方插件
Infiniboard 2.1.2-1 不兼容,可以改变系统桌面翻页形式
Infinidock 2.1.2-1 不兼容,解锁dock图标限制
Infinifolders 2.1.2-1 不兼容,解除文件夹里文件图标限制
InfinityTask 1.7-1 兼容,解除iOS中后台10分钟后让App睡眠机制
InstaLauncher 1.3-1 兼容,允许用户在任何地方都可以快速的查看开启任意App
IntelliScreenX 8 8.00.1 兼容,能让通知中心与锁屏界面完美结合的插件
iProtect 8.0 兼容,老牌的密码加锁插件
iScheduler 1.5.6 兼容,一款非常强大的智能定时插件
iSlideText 2.0-1 不兼容,修改解锁模块中的文字
iTouchSecure 2.0.1.3 不兼容,将 Touch ID 指纹扫描功能开放给所有密码输入使用
iTransmission 4 4.6 兼容,下载BitTorrent文件的插件
iTunes Radio Unlimited 1.1.0 兼容,让iTunes Radio无限的跳过广告
iUnlock 1.0.5 兼容,一款锁屏增强插件
iWidgets 1.1.2 部分兼容,自定义锁屏界面上的App
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)