为了让Android 系统知道你开发的内容提供器,可以用在应用程序的AndroidManifest.xml 文件中以元素声明它。
未经声明的内容提供器对Android 系统不可见。
名字属性是ContentProvider 子类的全称名(fully qualified name)。权限属性是标识提供器的content:URI 的权限认证部分。
例如如果ContentProvider 子类是AutoInfoProvider,那么元素可能如下:<provider name="com.example.autos.AutoInfoProvider"
authorities="com.example.autos.autoinfoprovider"
. . . />
</provider>
请注意到这个权限属性忽略了content: URI 的路径部分。
例如,如果AutoInfoProvider 为各种不同的汽车或制造商控制着各个子表,Note that the authorities attribute omits the path part of a content: URI. For example, if AutoInfoProvider controlled subtables for different types of autos or different manufacturers,content://com.example.autos.autoinfoprovider/honda
content://com.example.autos.autoinfoprovider/gm/compact
content://com.example.autos.autoinfoprovider/gm/suv
这些路径将不会在manifest 里声明。权限是用来识别提供器的,而不是路径;你的提供器能以任何你选择的方式来解释URI 中的路径部分。
其它属性可以设置数据读写许可,提供可以显示给用户的图标和文本,启用或禁用这个提供器,等等。
如果数据不需要在多个内容提供器的运行版本中同步则可以把multiprocess 属性设置成"true"。
这使得在每个客户进程中都有一个提供器实例被创建,而无需执行IPC 调用。