Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發實現刪除聯系人通話記錄的方法

Android開發實現刪除聯系人通話記錄的方法

編輯:關於Android編程

本文實例講述了Android開發實現刪除聯系人通話記錄的方法。分享給大家供大家參考,具體如下:

1. 負責存放呼叫記錄的內容提供者源碼在 ContactsProvider 項目下:
源碼路徑:

com/Android/providers/contacts/CallLogProvider.Java

使用到的數據庫在:

/data/data/com.android.providers.contacts/databases/contacts2.db

表名:calls

呼叫記錄有三種類型:

來電:CallLog.Calls.INCOMING_TYPE (常量值:1)

已撥:CallLog.Calls.OUTGOING_TYPE(常量值:2)

未接:CallLog.Calls.MISSED_TYPE(常量值:3)

查看源碼中的聲明:

<provider android:name="CallLogProvider"
  android:authorities="call_log"
  android:syncable="false" android:multiprocess="false"
  android:readPermission="android.permission.READ_CONTACTS"
  android:writePermission="android.permission.WRITE_CONTACTS">
</provider>

2.需要聲明的權限

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

3. 系統的通話記錄,是通過 ContentProvider 來對外共享的

4. Uri

CallLog.Calls.CONTENT_URI : 等價於:Uri.parse("content://call_log/calls");

5. 查詢出所有記錄

ContentResolver resolver = getContentResolver();
resolver.query(CallLog.Calls.CONTENT_URI, null, null, new String[]{"15101689022"}, null);

6. 查詢某一個聯系人的所有記錄(按電話號碼)
復制代碼 代碼如下:resolver.query(CallLog.Calls.CONTENT_URI, null, "number=?", new String[]{"15101689022"}, null);

7. 查詢某一個聯系人的所有未接電話記錄(按電話號碼)
復制代碼 代碼如下:resolver.query(CallLog.Calls.CONTENT_URI, null, "number=? and type=3", new String[]{"15101689022"}, null);

8. 刪除某聯系人最近的一次來電

/* 本代碼因為在 Activity 中,所以可以直接調用 getContentResolver()。這個方法實際上是 Context 中定義的。 */
ContentResolver resolver = getContentResolver();
/* 這裡涉及到內容提供者的知識,其實這裡是直接在操作 Android 的數據庫,十分痛苦 */
Cursor cursor = resolver.query(CallLog.Calls.CONTENT_URI, new String[]{"_id"}, "number=? and (type=1 or type=3)", new String[]{"15101689022"}, "_id desc limit 1");
if(cursor.moveToFirst()) {
  int id = cursor.getInt(0);
  resolver.delete(CallLog.Calls.CONTENT_URI, "_id=?", new String[] {id + ""});
}

更多關於Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android圖形與圖像處理技巧總結》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》

希望本文所述對大家Android程序設計有所幫助。

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