1.权限分类:分为系统权限和特殊权限授权。系统权限中,又分为normal和dangerous类型。
normal:这个权限类型并不直接威胁到用户的隐私,可以直接在manifest清单里注册,系统会帮我们默认授权的。
dangerous:这个可以直接给app访问用户一些敏感的数据,不仅需要在manifest清单里注册,同时在使用的时候,需要向系统请求授权。
值得注意一点,这里有特殊权限授权的区别,分别是SYSTEM_ALERT_WINDOW 和 WRITE_SETTINGS,虽然这两个权限也是属于dangerous权限类型,但是这两个授权请求方式和其他dangerous权限是不一样的,需要特殊处理
2.权限的使用步骤:
1.判断权限 this.checkSelfPermission(thisActivity,Manifest.permission.WRITE_CALENDAR)!=PackageManager.PERMISSION_GRANTED
如果是:NO就显示授权
this.shouldShowRequestPermissionRationale(thisActivity,Manifest.permission.READ_CONTACTS);
如果是:YES就执行此方法
就执行public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults)方法,