我有一种情况,我知道文件的路径,并以这种方式解决它:
File f = new File(Environment.getExternalStorageDirectory(), "image.jpg");
然后从中创建一个 Uri:
Uri uri = Uri.fromFile(f);
但是,这个 Uri 会打印出如下内容:
file://.....
但我想要:
content://.....
“为什么?”。因为某些应用程序对方案敏感,例如 Facebook。如果您在附加图像时将文件方案 Uri 传递给 Facebook,它什么也不做。如果您将内容方案 Uri 传递给同一图像,则它可以完美运行。
那么如何通过知道绝对路径或将文件方案 Uri 转换为内容方案 Uri 来获取内容 Uri?
编辑(2012 年 8 月 24 日):最新的 Facebook 应用程序更新“解决”了这个问题,只需删除选择器,只显示图库。在 Facebook 中,您根本无法再通过意图进行选择。