1. 程式人生 > >Android系統常用URI

Android系統常用URI

詳細 dia strong esc trac roc contract raw body

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-permission android:name="android.permission.READ_CONTACTS"/>

Android系統常用URI