美文网首页
permission

permission

作者: passssssss | 来源:发表于2016-07-21 17:58 被阅读0次

    api23以及以上的 版本中,对于一些系统认为非常规的权限,需要用户动态的授权。
    在老版本中,用户授权是在第一次安装app的时候,如果用户拒绝了某个用户权限,app会安装失败。新版本中,用户获得权限是在app需要用到该权限的时候,去动态的获取权限。
    权限申请管理类

    ActivityCompat 和ContextCompat
    1. 检查当前app有没有某项权限checkSelfPermission
      exampleActivityCompat.checkSelfPermission(MediaAuido.this,Manifest.permission.READ_EXTERNAL_STORAGE) 判断有没有读取内存的权限。
    2. 申请权限requestPermissions() 注意,如果用户拒绝了一次之后,下次再次调用这个方法的时候,系统并不会弹出提示框,并且,这个权限框与当前活动线程是异步关系,(个人猜测权限提示框在一个系统线程里面)
      exampleActivityCompat.requestPermissions(MediaAuido.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 2); 后面的数字requestCode,用于用户操作的回调
    3. 关于回调 暂时还没用到,
    4. 提示用户为什么需要该权限,shouldShowRequestPermissionRationale 当申请权限的时候,提示用户为什么需要当前权限,目前还没用到
    5. 用户回调监听,``目前未用到
    6. ps:检查当前的sdk版本 Build.VERSION.SDK_INT >= 23判断当前版本是不是大于23

    ActivityCompat与ContextCompat的关系,

    对于权限,MEDIA_CONTENT_CONTROLMODIFY_AUDIO_SETTINGS在代码中请求他们的权限的时候,并不会弹出授权菜单,并且检查有没有这两个权限的时候,一直提示-1,也就是没有权限.没有权限,又不弹出权限授权菜单,和奇怪。

    相关文章

      网友评论

          本文标题:permission

          本文链接:https://www.haomeiwen.com/subject/rribjttx.html