最近做到一個擷取連絡人的應用。一開始只是做擷取連絡人,後來需求需要做擷取手機連絡人和擷取SIM卡連絡人。其實原理都一樣,都是去查詢。只不過資料庫的位置不一樣。這裡擷取手機連絡人的方法我就不寫了。我直接寫上擷取手機SIM卡中得連絡人的方法。
/** * 擷取SIM卡中連絡人 * * @author sy * @return ArrayList<ContactsModel> */ @SuppressWarnings("deprecation") public ArrayList<ContactsModel> getContactFromSim() { contactsModels.clear(); // contactsModels = new ArrayList<ContactsModel>(); Uri uri = Uri.parse("content://icc/adn"); Cursor cursor = Contacts.this.getContentResolver().query(uri, null, null, null, null); while (cursor.moveToNext()) { ContactsModel contactsModel = new ContactsModel(); String id = cursor.getString(cursor.getColumnIndex(People._ID)); String name = cursor.getString(cursor.getColumnIndex(People.NAME)); String phoneNumber = cursor.getString(cursor.getColumnIndex(People.NUMBER)); contactsModel.setContactId(id); contactsModel.setContactName(name); contactsModel.setContactPhone(phoneNumber); contactsModels.add(contactsModel); } return contactsModels; }
"content://icc/adn" 其實就是我們SIM卡中存放連絡人的位置
ArrayList<ContactModel> 這個大家應該都明白,其實就是一個ArrayList裡面存放了我的連絡人的Model實體類,至於實體類裡的變數,大家自己去定義吧。我就不貼了。反正就是姓名啊,地址啊,手機號碼啊之類的,根絕大家的需求吧。