ContentProvider讀取通訊錄和聯絡歷史

2021-06-22 12:49:41 字數 1515 閱讀 2609

通過使用contentresolver讀取系統發布好的通訊錄相關的資料庫內容,並可以將裡面的資料取得,列表顯示。

public class mainactivity extends activity , null);

// 隨意記錄乙個**,一邊撥叫,這裡記錄迴圈中的最後乙個**

string number = "";

c2.movetofirst();

while (!c2.isafterlast())

c2.close();

allphonenum.add(number);

allvalues.add(builder.tostring());

c.movetonext();

} c.close();

adapter = new arrayadapter(this,

android.r.layout.******_list_item_1, allvalues);

list.setadapter(adapter);

}}

但還需要宣告讀取通訊錄的許可權

如果想加入撥打**的功能,則需要提供乙個打**的許可權

// 可以加入乙個點某一項的監聽

list.setonitemclicklistener(new onitemclicklistener()

});

許可權為:

如果想讀取聯絡歷史,則還要加入以下許可權

public class mainactivity extends activity 

// 加入**的顯示

// 隨意記錄乙個**,一邊撥叫,這裡記錄迴圈中的最後乙個**

string number = c.getstring(c.getcolumnindex(calls.number));

int type = c.getint(c.getcolumnindex(calls.type));

if (type == calls.incoming_type) else if (type == calls.missed_type) else

allphonenum.add(number);

allvalues.add(builder.tostring());

c.movetonext();

} c.close();

adapter = new arrayadapter(this,

android.r.layout.******_list_item_1, allvalues);

list.setadapter(adapter);

// 可以加入乙個點某一項的監聽

list.setonitemclicklistener(new onitemclicklistener()

});}}

如何新增Content Provider

一 寫在前面 一直很好奇系統是如何通過 content 來訪問歸屬地資料庫的,通過研究 和api參考文件以及網路上的資料基本上弄明白了,於是有了以下的內容。二 android content provider介紹 三 content provider的組成 四 新增content provider ...

ContentProvider基本使用

在不同應用之間實現資料共享,並保證安全性 比較 新增 沒有條件約束,刪除 沒有資料contentvalues getcontentresolver insert uri uri,contentvalues values getcontentresolver update uri uri,conten...

ContentProvider簡單使用

一是使用內容提供器讀取和操作其他應用程式的資料 二是建立內容提供器給該程式的資料提供外部訪問介面 如 簿,簡訊,庫,都有內容提供器讓它們的資料有外部訪問介面 內容提供器提供的資料外部訪問介面是乙個uri.它由authority和path組成 path相當於不同的表加在authority的後面。如有表...