android讀取通話記錄
❶ android手機通訊錄以及通話記錄在哪個文件夾
在內部存儲卡的的data/com.android.provides.contacts裡面。
以三星的s8為例
找到通訊錄以及通話記錄方法:
1、打開三星的s8手機,在系統界面找到「我的文件」。
❷ android 如何讀取通話記錄
安卓手機上的通話記錄可以按照以下步驟來進行獲取(包括刪除的通話記錄)。
1,首先對安卓手機進行一鍵Root,方法很簡單,在電腦上安裝「360一鍵Root」軟體,然後按提示,將安卓手機用數據線連接到電腦上對其進行Root即可。
❸ android手機通訊錄以及通話記錄在哪個文件夾
安卓手機保存通話記錄的默認路徑是
/data/data/com.android.providers.contacts/databases/
丟失的通話記錄也可以通過數據恢復軟體進行恢復。
❹ 如何導入android系統的通話記錄
涉及到對通話記錄的讀和寫、需要在sd卡上寫存放通話記錄數據的文件,所以需要加許可權:
[html] view plain
<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 plain
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)));
// ration
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 plain
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 plain
/**
* 需要增加一個對象到集合的時候,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;
}
❺ 手機通話錄音怎麼查看
要查看手機通話錄音,可以根據手機操作系統的不同採取以下方法:
對於Android系統: 通過文件管理器查看:首先,打開手機的「文件管理」或「我的文件」應用。然後,瀏覽至「內部存儲空間」或「SD卡」中的「錄音」或「通話錄音」文件夾。在該文件夾中,你可以找到以日期時間命名的通話錄音文件,點擊即可播放或分享。 通過通話記錄查看:一些Android手機在通話記錄中會提供直接播放通話錄音的選項,你可以直接在通話記錄中找到並播放錄音。
對於iOS系統: 使用第三方應用:由於iOS系統內置並不支持通話錄音功能,因此你需要通過第三方應用來實現。你可以在App Store中搜索並安裝一款評價較高的通話錄音應用。這些應用通常會在通話過程中提供錄音功能,並將錄音文件保存在應用的文件庫中,供你隨時查看和分享。
注意事項: 在使用第三方應用進行通話錄音時,請務必遵守當地法律法規,以確保你的行為合法合規。 查看通話錄音的方法可能因手機品牌、型號及操作系統版本的不同而略有差異。如果無法按照以上方法找到通話錄音文件,建議查閱手機的使用手冊或在互聯網上搜索針對你手機型號的具體教程。
❻ 怎麼查通話錄音記錄
在進行打電話後,需要進行錄音後,打開【文件管理】——【音頻】打開後進行播放即可,或者打開撥打號碼,點擊播放圖標就可以聽到錄制內容。
(參考環境: 手機型號:OPPOK9, 手機系統:Android11 ,ColorOSV11.1 APP版本:音樂40.7)
方法一:文件管理
1.進行打電話時,需要點擊通話界面的【錄音】。
以上就是通話錄音回放的方法,如有其他疑問,歡迎留言交流哦。