獲取手機系統聯繫人的方法

獲取手機系統聯繫人的方法;

    /**
     * 獲取系統聯繫人數據;
     */
    private void initData() {
        // 讀取聯繫人是耗時操作啓動一個線程來查詢;
        new Thread() {
            public void run() {
                // 獲取內容解析器
                ContentResolver contentResolver = getContentResolver();
                // 查詢系統聯繫人表過程;(讀取聯繫人權限)
                Cursor cursor = contentResolver.query(Uri
                        .parse("content://com.android.contacts/raw_contacts"),
                        new String[] { "contact_id" }, null, null, null);
                // 循環遊標到沒有數據爲止;
                while (cursor.moveToNext()) {
                    String id = cursor.getString(0);
                    // 根據用戶唯一的id查詢到了data表和mimetype 表形成的視圖獲取data以及mimetype字段;
                    if (id!=null) {
                            Cursor indexcCursor = contentResolver
                            .query(Uri
                                    .parse("content://com.android.contacts/data"),
                                    new String[] { "data1", "mimetype"// data1可能是電話號碼也可能是姓名;mimetype
                                                                        // 是電話號碼的類型也可能是姓名所對應的類型;
                                    }, "raw_contact_id = ? ",
                                    new String[] { id }, null);
                    while (indexcCursor.moveToNext()) {
                        String idString = indexcCursor.getString(0);
                        String typeString = indexcCursor.getString(1);
                    }
                    }
                }
                cursor.close();
            };
        }.start();
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章