其他分享
首页 > 其他分享> > Android 7 nougat,如何从传入意图的uri获取文件路径?

Android 7 nougat,如何从传入意图的uri获取文件路径?

作者:互联网

FileProvider:- Setting up file sharing

我知道在android nougat中更改文件策略.
文件共享到其他应用程序的通缉应用程序通过FileProvider生成uri.
uri格式为content://com.example.myapp.fileprovider/myimages/default_image.jpg.

我想知道如何从FileProvider.getUriForFile()生成的uri获取文件路径.
因为我的app需要知道物理文件路径才能保存,加载,读取信息等.
可能吗

[简而言之]

>我的应用程序在andorid 7 nougat上收到了其他应用程序的意图uri.
> uri格式是内容://com.example.myapp.fileprovider/myimages/default_image.jpg
>也许它是由FileProvider.getUriForFile生成的.
>我想知道从uri获取文件路径的方式.
>我可以从getContentResolver().openFileDescriptor()获取mime类型,显示名称,文件大小和读取binay.
但我想知道文件路径.

解决方法:

你无法获得Uri的“文件路径”,原因很简单,就是不要求Uri指向文件.使用ContentResolver和openInputStream()等方法来访问Uri表示的内容.

To share a file with another app using a content URI, your app has to
generate the content URI. To generate the content URI, create a new
File for the file, then pass the File to getUriForFile(). You can send
the content URI returned by getUriForFile() to another app in an
Intent. The client app that receives the content URI can open the file
and access its contents by calling ContentResolver.openFileDescriptor
to get a ParcelFileDescriptor.
Source: 07001

标签:android,android-intent,filepath,android-fileprovider,android-7-0-nougat
来源: https://codeday.me/bug/20190522/1154320.html