ContentProvider的代码实现今天就不多说了,只针对ContentProvider使用在清单文件中设置第三方读写权限
在清单文件中注册ContentProvider,例如下图:
以上图片中提到几个属性:
- android:authorities代表了权限,要和你设置ContentProvider的uri路径格式中<prefix>://<authority>/<data_type>/<id>中的authority一致,否者会出现问题。
- android:readPermission代表自定义的可读权限,此权限用来限制第三方能否读到你的数据库
- android:writePermission代表自定义的可写权限,此权限用来限制第三方能否修改你的数据库
-
permission下写的时自己自定义的两个权限,要和自己定义的读写权限路径一致,否则会出现问题。
同时,第三方也需要在自己的清单文件中写上你定义的权限,否则他是访问不到你的数据,实现例如下图:
以下进行说明:
<!-- 说明-->
<!-- <provider-->
<!-- 包名全称-->
<!-- android:name="com.tgh.project.db.ProgramContentProvider"-->
<!-- 必须是<prefix>://<authority>/<data_type>/<id>这个url中authority-->
<!-- android:authorities="com.tgh.project.center.data.ContentProvider"-->
<!-- android:exported="true"-->
<!-- 读写权限,随便定义,格式:随便字符串+.permission.READ-->
<!-- android:readPermission="com.tgh.projectl.center_s.permission.READ"-->
<!-- android:writePermission="com.tgh.project.center_s.permission.WRITE" />-->