android 服务端 提供一个 public class MyContentProvider extends ContentProvider { mylibrary 模块 会生成一个jar 通过ContentResolver来访问服务端提供的数据。 客户端客户app 调用 jar 包提供的方法,需要在清单文件里声明权限 * <uses-permission android:name="com.example.myprovider.READ_PERMISSION"/> 如果jar的清单文件里如果包括 上面这句话 清单文件里声明权限,那么客户端app就可以不用加这个权限申请了吗?为什么? jar会带上清单文件吗?
这个点有点坑,我给你拆开说明:
👉 所以 jar 里的 <uses-permission>
完全没用,不会自动让客户端 app 获得这个权限。
<permission>
,比如 android:readPermission="com.example.myprovider.READ_PERMISSION"
,这样外部 app 在调用时就必须具备这个权限。
👉 但客户端要调用这个 Provider,就必须 自己声明 <uses-permission>
,否则调用时会报 SecurityException
。
<uses-permission>
才会生效。
✅ 结论:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。