如何在android7.0中获取文件的Uri-创新互联
本篇文章为大家展示了如何在android7.0中获取文件的Uri,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为网站制作、做网站,重庆APP开发公司以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!//res目录下创建xml,设置要分享的目录,名称定义file_paths// 注册provider
设置分享的路径有三种:
代表的根目录: Context.getFilesDir() 代表的根目录:Environment.getExternalStorageDirectory() 代表的根目录: getCacheDir()
provider注册完了之后,就需要稍微修改一下我们的java代码:
Intent i = new Intent(Intent.ACTION_VIEW); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 判断是否是7.0 if(Build.VERSION.SDK_INT >= 24){ // 适配android7.0 ,不能直接访问原路径 // 需要对intent 授权 i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); i.setDataAndType(FileProvider.getUriForFile(context, context.getPackageName() + ".fileProvider",new File(filePath)),"application/vnd.android.package-archive"); } else{ i.setDataAndType(Uri.fromFile(new File(filePath)), "application/vnd.android.package-archive"); } context.startActivity(i);
在java代码中,我们先判断了当前的手机的系统版本,如果是7.0以下就使用之前的Uri,如果是7.0以上,开始通过Provider来获取加密后的Uri。
最终得到的Uri的格式:
content://com.lzp.fileprovider/myFile/xxxxx.apk
看来主要是把分享出去的路径进行了加密,不能直接看到文件的完整路径。
上述内容就是如何在android7.0中获取文件的Uri,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
本文标题:如何在android7.0中获取文件的Uri-创新互联
文章来源:http://azwzsj.com/article/dpsipj.html