Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發之獲取手機通話記錄

Android開發之獲取手機通話記錄

編輯:關於Android編程

Android手機想要獲取通話記錄,可以使用CallLog。

java文件關鍵部分內容:

private ContentResolver cr;

private Cursor cursor;

private String LOG = "MobileCalls";

String str = "通話記錄:\n";

public void setContenResolver() {

int i = 0;

setCr(context.getContentResolver());

setCursor(getCr().query(CallLog.Calls.CONTENT_URI, // 使用系統URI,取得通話記錄

new String[] { CallLog.Calls.NUMBER, // 電話號碼

CallLog.Calls.CACHED_NAME, // 聯系人

CallLog.Calls.TYPE, // 通話類型

CallLog.Calls.DATE, // 通話時間

CallLog.Calls.DURATION // 通話時長

}, null, null, CallLog.Calls.DEFAULT_SORT_ORDER));


// 遍歷每條通話記錄

for (cursor.moveToFirst(); !cursor.isAfterLast() && i < 100; cursor

.moveToNext()) {

String strNumber = cursor.getString(0); // 呼叫號碼

String strName = cursor.getString(1); // 聯系人姓名

int type = cursor.getInt(2);

String str_type = "";

if (type == CallLog.Calls.INCOMING_TYPE) {

str_type = "呼入";

} else if (type == CallLog.Calls.OUTGOING_TYPE) {

str_type = "呼出";

} else if (type == CallLog.Calls.MISSED_TYPE) {

str_type = "未接";

}

long duration = cursor.getLong(4);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date = new Date(Long.parseLong(cursor.getString(3)));

String time = sdf.format(date);

Log.i(LOG, "\n類型:" + str_type + "\n稱呼:" + strName + "\n號碼:"

+ strNumber + "\n通話時長:" + duration + "秒" + "\n時間:" + time

+ "\n---------------------\n");

i++;

}

}

當然,需要在MainFest.xml中申請以下權限:

然後你就可以查看手機通話記錄啦!


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved