目前我正在尝试从网络服务器下载图像并保留附加到图片的 Exif 数据。下载图像本身完全没有问题。示例代码是这样的(没有任何 try/catch 或 AsyncTask 相关代码使其可读)
final HttpGet request = new HttpGet("IMAGE_URL");
final AndroidHttpClient httpClient = AndroidHttpClient.newInstance("Android");
HttpResponse response = httpClient.execute(request);
InputStream inputStream = inputStream = response.getEntity().getContent();
现在我只需调用BitmapFactory从 Inputstream 中创建一个 Bitmap 对象,如下所示
BitmapFactory.decodeStream(inputStream);
首先,我认为 BitmapFactory 是罪魁祸首,并试图从输入流创建的文件中读取 Exif 数据。ExifInterface 无法获取 Exif 数据,在 Windows 上打开保存的图像根本没有 Exif。