標籤:roc mail email tco subject href div 聲明 cdc
android系統常用URI
android系統管理連絡人的URI如下:
ContactsContract.Contacts.CONTENT_URI 管理連絡人的Uri
ContactsContract.CommonDataKinds.Phone.CONTENT_URI 管理連絡人的電話的Uri
ContactsContract.CommonDataKinds.Email.CONTENT_URI 管理連絡人的Email的Uri
(註:Contacts有兩個表,分別是rawContact和Data,rawContact記錄了使用者的id和name,
其中id欄名稱為:ContactsContract.Contacts._ID, name名稱欄為ContactContract.Contracts.DISPLAY_NAME,電話資訊表的外鍵id為ContactsContract.CommonDataKinds.Phone.CONTACT_ID,電話號碼欄名稱為:ContactsContract.CommonDataKinds.Phone.NUMBER.
參考:http://blog.sina.com.cn/s/blog_90cdca4c01010zm4.html
data表中Email地址欄名稱為:
ContactsContract.CommonDataKinds.Email.DATA
其外鍵欄為:ContactsContract.CommonDataKinds.Email.CONTACT_ID)
android為多媒體提供的ContentProvider的Uri如下:
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI 儲存在sd卡上的音頻檔案
MediaStore.Audio.Media.INTERNAL_CONTENT_URI 儲存在手機內部儲存空間上的音頻檔案
MediaStore.Audio.Video.INTERNAL_CONTENT_URI 手機內部儲存空間上的視頻
SD卡上的圖片檔案內容
MediaStore.Images.Media.INTERNAL_CONTENT_URI手機內部儲存空間上的圖片
MediaStore.Images.Media.EXTERNAL_CONTENT_URI SD卡上的視頻
(註:圖片的顯示名欄:Media.DISPLAY_NAME,圖片的詳細描述列為:Media.DESCRIPTION
圖片的儲存位置:Media.DATA
簡訊URI: Content://sms
發送箱中的簡訊URI:Content://sms/outbox
(相應欄名稱address, subject(標題), time)
// 查詢通訊錄中連絡人?
Cursor cr =getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null,null, null);
如果我們只想擷取手機號如何操作呢?
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +"="+ContactId, null, null);
把以上語句改為:
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +"="+ContactId +" AND "+ ContactsContract.CommonDataKinds.Phone.TYPE+"="+ ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE, null,null);
ContactsContract.CommonDataKinds.Phone.TYPE 表示連絡人電話的類型,主要對應如下:
TYPE_MOBILE : 手機號碼
TYPE_HOME : 住家電話
TYPE_WORK : 公司電話
最後記得在AndroidManifest.xml聲明讀取連絡人的API:
<uses-permissionandroid:name="android.permission.READ_CONTACTS"/>
Android系統常用URI