作家
登录

Android 7.0动态权限大总结

作者: 来源: 2017-08-15 09:26:48 阅读 我要评论

  • //1、授权(体系相册、相机、裁剪时须要)  -- 这种写法待分析 
  •       List resInfoList = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); 
  •       for (ResolveInfo resolveInfo : resInfoList) { 
  •          String packageName = resolveInfo.activityInfo.packageName; 
  •          if (TextUtils.isEmpty(packageName)) { 
  •             continue
  •          } 
  •          context.grantUriPermission(packageName, saveUri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); 
  •       } 
  • //2、授权(安装apk时须要) 
  •       intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); 
  •    } 
  •   
  •    public static void revokeUriPermission(Context context, Intent intent, Uri saveUri) { 
  •       if (!isNeedAdapt()) { 
  •          return
  •       } 
  •       if (context == null || intent == null || saveUri == null) { 
  •          return
  •       } 
  • //收集路径的特别处理,不须要权限 
  •       if (saveUri.getScheme() != null && saveUri.getScheme().startsWith("http")) { 
  • //不须要授权 
  •          return
  •       } 
  •       try { 
  •          context.revokeUriPermission(saveUri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); 
  •       } catch (Exception e) { 
  •          e.printStackTrace(); 
  •       } 
  •    } 
  •  
  • 核心代码:

    1. uri = FileProvider.getUriForFile(context, AUTHORITIES, file); 

    应公司项目需求,做了下Android 7.0适配。对于我们法度榜样员,适配7.0重要就是敌手机本地文件的Uri做转换处理。留意红色字体,意思也就是说对于http开首的等等,非手机存储中的文件就不消管了。Uri.parse(“package”) 如许的也不消管!!!!!

    file就是你想要裸露给其他应用的文件地址,比方你要拍┞氛,把结不雅保存到file文件中。

    AUTHORITIES就是膳绫擎第一步中,android:authorities=”${applicationId}.myFileProvider”的实际值, ${applicationId}取得是app/build.gradle中defaultConfig标签的applicationid值。经由过程体系供给的FileProvider类的静态办法转换file地址为一个以content://开首的特别的uri。如不雅不转换的话,直接用Uri.fromFile(file),你获得的是一个file:///xxxxx如许的uri。就这差别。


      推荐阅读

      什么是云原生应用 有哪些关键点?

    比来评论辩论云原生应用越来越多,其是指原生为在云平台上安排运行而设计开辟的应用。公平的说,大年夜多半传统的应用,不做任何修改,都是可以在云平台运行起来的,只要云平台支撑这个传>>>详细阅读


    本文标题:Android 7.0动态权限大总结

    地址:http://www.17bianji.com/lsqh/36701.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)