像Activity和Service組件一樣,ContentProvider子類必須在它的應用程式的資訊清單檔中使用<provider>元素來定義。Android系統要從這個元素中擷取以下資訊:
1. 授權(android:authorities)
在系統中標識整個提供器的符號名。
2. 提供器類名(android:name)
這個類實現了ContentProvider抽象類別。
3. 許可權
指定其他應用程式要訪問這個提供器的資料所必須有的許可權的屬性:
A.android.grantUriPermssions:臨時許可權標識;
B.android.permission:單一的提供器範圍的讀寫權限;
C.android.readPermission:提供器範圍的讀許可權;
D.android.writePermission:提供器範圍的寫入權限。
許可權和它們相應的屬性在“實現內容提供器許可權”一節中進行了詳細的描述。
開啟和控制屬性
以下這些屬性決定了Android系統以何種方式在什麼時候啟動提供器,以及提供器的處理特點和其他的一些運行時設定:
1. android:enabled:是否允許系統啟動提供器的標識;
2. android:exported:是否允許其他的應用程式使用這個提供器的標識;
3. android:initOrder:這個提供器相對與相同進程中的其他提供器的啟動順序。
4. android:multiProcess:是否允許提供器跟調用它的用戶端在同一進程中啟動;
5. android:process:提供器應該啟動並執行進程的名字;
6. android:syncable:指明提供器的資料是否要跟服務端的資料同步的標識。
在<provider>元素的開發指南專題中完整的介紹了這些屬性。
資訊屬性
針對提供器的一個可選的表徵圖和標籤:
1. android:icon:包含了這個提供器的可描畫的資源表徵圖。這個表徵圖顯示在Setting>Apps>All的應用列表中提供器標籤旁邊。
2. android:label:描述提供器或它的資料的一個資訊標籤。這個標籤顯示在Setting>Apps>All的應用列表中。
在<provider>元素的開發指南專題中完整的介紹了這些屬性。