html手机版网站软文营销广告
我有一个android.net.URI对象(在MediaStore.ACTION_VIDEO_CAPTURE之后由onActivityResult返回的那种):它看起来像content:// media / video / media / 33.
我想将它转换为File对象,只有一个File对象 – 我需要将它传递给另一个需要File的构造函数.
如何将这样的URI转换为File对象?如果我试试
File newFile = new File(myURI);
我在Eclipse中收到错误,建议我将URI转换为String.在构造函数中提供URI.getPath()也没有帮助.
我不介意我是否必须将它写入字节流并再次返回 – 无论什么是最好的方法.
如果我正在交叉发布my own question,请道歉,但我想我可能需要让事情更清楚一些.
解决方法:
How can I convert a URI like this to a
File object?
您不能以可靠的SDK兼容方式.
“如果表条目是内容:URI,则永远不要尝试直接打开和读取文件(首先,权限问题会导致失败).相反,您应该调用ContentResolver.openInputStream()来获取InputStream对象你可以用来读取数据.“
您需要修改其他代码以接受和使用InputStream.或者,如果其他代码应该修改数据,则需要使用OutputStream,这个主题也包含在上面链接的页面中.
标签:android
来源: https://codeday.me/bug/20190518/1130553.html