Android 自定义权限的作用
- 什么时候使用自定义权限?
- 和 android:exported 有什么区别?
- 为什么很多第三方服务集成,都需要你自己定义权限?比如小米推送,为什么你要加上 permission 和 use-permission 两项?
自定义权限主要是用来限制对本应用程序或者其他应用程序的特殊组件或功能的访问,如果 startActivity()
或者 startActivityForResult()
的调用者没有授予相应权限,那么启动会失败。
自定义权限的节点详细信息可以参考官方 API Guide Permission,完成权限自定义后可以在 <application android:permission>
和 <activity andriod:permission>
、 <service andriod:permission>
、 <receiver andriod:permission>
、 <provider andriod:permission>
分别设置(PS:每个组件的权限设置还有些不一样),表示客户端与应用程序交互的权限许可,如果 <activity>
没有设置权限,那么默认权限为 <application>
中的权限,如果两个都没有设置那么该 Activity 不会被权限保护。总结一下,自定义权限主要还是保护某些组件和功能的可访问性。
首先说一下 android:exported = [true | false]
的功能主要是该组件是否可以被其他应用程序启动或者交互,既然是组件的属性那么就可以分别应用到 <activity>
、 <service>
、 <receiver>
、 <provider>
,更详细说明可以参考 API Guide App Manifeset,当然官方最后说了要完成保护组件也可以使用自定义权限。
不加权限就无法访问或者调用对应组件。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: ANR 是什么?怎样避免和解决 ANR
下一篇: 如何缩减 APK 包大小
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论