返回顶部
首页 > 资讯 > 精选 >Android FileProvider如何使用
  • 793
分享到

Android FileProvider如何使用

2023-07-05 15:07:49 793人浏览 八月长安
摘要

这篇文章主要介绍“Android FileProvider如何使用”,在日常操作中,相信很多人在Android FileProvider如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答

这篇文章主要介绍“Android FileProvider如何使用”,在日常操作中,相信很多人在Android FileProvider如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android FileProvider如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Android基础--FileProvider

Android 7.0之前,文件的Uri以file:///形式提供给其他app访问。

Android 7.0之后,为了安全起见,file:///形式的Uri不能正常访问,官方提 供了FileProvider,FileProvider生成的Uri会以content://的形式分享给其他app使用。

那如何使用FileProvider?

在manifest 中声明provider

<provider            android:authorities="${packagename}.provider"            android:name="com.flx.cn.fileprovider"            android:exported="false"            android:grantUriPermissions="true">            <meta-data                android:name="android.support.FILE_PROVIDER_PATHS"                android:resource="@xml/file_provider" /></provider>
  • authorities:相当于一个用于认证的暗号,在分享文件生成Uri时,会通过它的值生成对应的Uri。

  • exported:的值为false,表示该FileProvider只能本应用使用

  • meta-data:别的配置信息

  • grantUriPermissions:让接收端的app临时有权限进行操作了。

设置共享目录

<?xml version="1.0" encoding="utf-8"?><resources>  <paths>    <!--<root-path/> 代表设备的根目录new File("/");-->    <root-path        name = ""        path=""/>    <!-- Context.getFilesDir() + "/path/" -->    <files-path        name="my_files"        path="test/"/>    <!-- Context.getCacheDir() + "/path/" -->    <cache-path        name="my_cache"        path="test/"/>    <!-- Context.getExternalFilesDir(null) + "/path/" -->    <external-files-path        name="external-files-path"        path="test/"/>    <!-- Context.getExternalCacheDir() + "/path/" -->    <external-cache-path         name="name"         path="test/" />    <!-- Environment.getExternalStorageDirectory() + "/path/" -->    <external-path        name="my_external_path"        path="test/"/>    <!-- Environment.getExternalStorageDirectory() + "/path/" -->    <external-path        name="files_root"        path="Android/data/<包名>/"/>    <!-- path设置为'.'时代表整个存储卡 Environment.getExternalStorageDirectory() + "/path/"   -->    <external-path        name="external_storage_root"        path="."/>  </paths></resources>

最终生成的代码效果

以第二个为例:
content://com.flx.cn.fileprovider/my_files/filexxx.jpg

生成Content Uri文件,供其他app使用

File filePath = new File(Context.getFilesDir(), "my_log");File newFile = new File(filePath, "my_log.log");// 生成UriUri contentUri = FileProvider.getUriForFile(getContext(), "com.flx.cn.fileprovider", newFile);

授权,一般就读取和写入2种权限,并分享

// 这里用的是发送文件。Intent intent = new Intent(Intent.ACTION_SEND);// 设置读写权限intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);//Uri传入Intentintent.putExtra(Intent.EXTRA_STREAM, contentUri);startActivity(intent)

到此,关于“Android FileProvider如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Android FileProvider如何使用

本文链接: https://lsjlt.com/news/352749.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android FileProvider如何使用
    这篇文章主要介绍“Android FileProvider如何使用”,在日常操作中,相信很多人在Android FileProvider如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-07-05
  • Android FileProvider使用教程
    Android基础--FileProvider Android 7.0之前,文件的Uri以file:///形式提供给其他app访问。 Android 7.0之后,为了安全起见,fil...
    99+
    2023-03-22
    Android FileProvider Android FileProvider使用方法
  • Android中FileProvider的各种场景应用详解
    目录前言一、常规使用与定义二、能不能自定义接收文件?三、能不能主动查询对方的沙盒?总结前言 有部分同学只要是上传或者下载,只要用到了文件,不管三七二十一写个 FileProvider...
    99+
    2024-04-02
  • Android SystemBar如何使用
    今天小编给大家分享一下Android SystemBar如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2024-04-02
  • android thread如何使用
    在Android中,可以使用线程来执行耗时的任务,以避免阻塞主线程。以下是使用Android线程的一般步骤:1. 创建一个继承自Th...
    99+
    2023-09-29
    android
  • Android ActivityManager如何使用
    Android的ActivityManager类是一个系统级服务,用于管理应用程序的Activity,如启动Activity、关闭A...
    99+
    2023-08-18
    Android ActivityManager
  • Android中JNI如何使用
    Android中JNI如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.导入C语言的类首先我们需要把C语言写的功能类放入我们的项目中。这里我直接从资料中...
    99+
    2023-06-20
  • Android中如何使用Html.fromHtml
    Android中如何使用Html.fromHtml,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 设置字体颜色的时候,颜色值需要用到转义符:如下代码所示:String&nb...
    99+
    2023-05-31
    android html.fromhtml
  • Android中selector如何使用
    今天就跟大家聊聊有关Android中selector如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android  selector的详解前言:StateListD...
    99+
    2023-05-30
    android selector
  • Android中RecyclerView如何使用
    本篇文章给大家分享的是有关Android中RecyclerView如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。RecyclerView 是在Android suppo...
    99+
    2023-05-30
    android recyclerview
  • Android中AudioTrack如何使用
    Android中AudioTrack如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、Android AudioTrack简介在android中播放声音...
    99+
    2023-05-30
    android
  • Android中SharedPreferences如何使用
    本篇文章为大家展示了Android中SharedPreferences如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android  SharedPreferences详解获取Sh...
    99+
    2023-05-30
    android sharedpreferences
  • Android中OkHttpUtils如何使用
    Android中OkHttpUtils如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。引入:Android Studio使用前,对于Android Studio的用户,可...
    99+
    2023-05-30
    android okhttputils
  • Android中EfficientAdapte如何使用
    今天就跟大家聊聊有关Android中EfficientAdapte如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android ListView之EfficientAdapt...
    99+
    2023-05-30
    android
  • Android 中 ActivityLifecycleCallbacks如何使用
    Android 中 ActivityLifecycleCallbacks如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MyApplication如下:package...
    99+
    2023-05-30
    android activitylifecyclecallbacks
  • Android中setEmptyView如何使用
    Android中setEmptyView如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Android ListView之setEmptyView正确使用方法&nbs...
    99+
    2023-05-30
    android setemptyview
  • Android 中ContentProvider如何使用
    本篇文章为大家展示了Android 中ContentProvider如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Content Provider 的简单介绍: * Android中的Con...
    99+
    2023-05-30
    android contentprovider
  • Android的Span如何使用
    本篇内容介绍了“Android的Span如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Span集合段落类SpanBulletSpan...
    99+
    2023-07-02
  • Android中texttospeech如何使用
    在Android中使用TextToSpeech需要以下步骤:1. 在AndroidManifest.xml文件中添加以下权限:```...
    99+
    2023-08-26
    Android texttospeech
  • Fragment如何在Android中使用
    本篇文章给大家分享的是有关Fragment如何在Android中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Fragment初探为了让界面可以在平板上更好地展示,Andr...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作