前言:
最近突然喜欢上一句诗:“宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。” 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过程中讨论比较多的一个知识点Android 6.0 权限适配问题来进行学习,不过我不想直接进入这个主题,所以选择先去了解一下Android的Permission权限机制及使用
Android权限机制:
权限是一种安全机制。Android权限主要用于限制应用程序内部某些具有限制性特性的功能使用以及应用程序之间的组件访问。
Android权限列表:
Android权限列表可以参考这篇博客:android权限大全
Android权限使用:
1.)在 AndroidManifest.xml <manifest>标签内使用<uses-permission>声明使用某一个权限
<uses-permission android:name="string"/>
例如申请使用网络权限
<uses-permission android:name="android.permission.INTERNET"/>
如果特定的权限必须申明使用,如果没有申请使用就会报出Permission Denial错误,例如访问通讯录报出如下错误
Caused by: java.lang.SecurityException: Permission Denial: reading com.androintacts.ContactsProvider2 uri content://contacts/data/phones from pid=23763, uid=10036 requires android.permission.READ_CONTACTS
解决此类错误我们只需根据提示添加对应的权限即可
<uses-permission android:name="android.permission.READ_CONTACTS" />
2.)自定义权限permission
虽然这种使用场景不多见,但是在有些特定的场景下出于安全考虑就需要自定义权限了,比如两个APP之间需要共享数据而采用了ContentProvider,