我使用以下方法从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));
}
我只需要在我的活动之间传递文件路径。
FileProvider
只用于向其他应用程序传递内容。如果您不需要这样做,请删除FileProvider
。如果您关心的是FileUriExposedException
,请勿将Uri
放入Intent
中,而是将包含文件路径(例如path.getAbsolutePath()
)的String
extra 或将File
对象本身作为Serializable
extra 传递。其中一个或两个应该可以避免FileUriExposedException
。 - CommonsWare