Nic*_*nko 4 android uri android-fileprovider
我使用这种方法从Uri获取文件路径https://github.com/iPaulPro/aFileChooser/blob/master/aFileChooser/src/com/ipaulpro/afilechooser/utils/FileUtils.java#L257
但是当我传递Uri时会抛出异常("_data"列未找到),如下所示:
public static Uri uriFromFile(Context context, String path) {
if (path == null) return null;
return FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider", new File(path));
}
Run Code Online (Sandbox Code Playgroud)
我只需要在我的活动之间传递文件路径..
我使用此方法从Uri获取文件路径
这是一种不可靠的方法,仅适用于少量Uri值.
但是当我传递Uri时会抛出异常("_data"列未找到),如下所示:
当然.对于大多数Uri值来说,该代码将失败.
从FileProvider创建的Uri获取文件路径
在这种特定情况下,您已经知道"文件路径".它由path您的代码段中指定的变量表示.
更一般地,你不能得到一个"文件路径" Uri,原因很简单,没有要求,即一个Uri点到一个文件,更不用说一个可以访问.使用ContentResolver和方法openInputStream()来访问由...表示的内容Uri.