将位置属性保存到ExifInterface Android时发生异常

时间:2018-10-29 12:52:35

标签: java android locationlistener

我首先保存从相机拍摄的图像,然后检查保存是否成功。

首先我压缩图像,然后保存在内部存储中,最后我添加抛出异常的ExifInterface。尝试所有可用的可用解决方案,但找不到解决方案。

File appFile = new File(path);
if (appFile.exists()) {
    Bitmap bitmap =
        ImageUtils.getInstant()
        .getCompressedBitmap(appFile.getAbsolutePath());
    saveToInternalStorage(bitmap, appFile.getAbsolutePath());
    addExifInfo(appFile.getAbsolutePath());
}
private void addExifInfo(String filePath) {
    try {
        LocationDetector locationDetector = new LocationDetector(BankVerificationActivity.this);
        String latitude = "";
        String longitude = "";
        if (locationDetector.canGetLocation) {
            latitude = locationDetector.getLatitude() + "";
            longitude = locationDetector.getLongitude() + "";
        } else {
            latitude = Utils.getSharedPrefs(context, PrefKeys.Latitude);
            longitude = Utils.getSharedPrefs(context, PrefKeys.Longitude);
        }
        Location location = locationDetector.getLocation();
        ExifInterface exifInterface = new ExifInterface(filePath);
        exifInterface.setAttribute(ExifInterface.TAG_GPS_LATITUDE, GPS.convert(Double.parseDouble(latitude)));
        exifInterface.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, GPS.convert(Double.parseDouble(longitude)));
        exifInterface.setAttribute(ExifInterface.TAG_GPS_LATITUDE_REF, GPS.latitudeRef(Double.parseDouble(latitude)));
        exifInterface.setAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF, GPS.longitudeRef(Double.parseDouble(longitude)));
        exifInterface.saveAttributes();
    }

在下面的代码中运行时,发生以下异常。图片保存成功,但提示找不到文件。

  

E /系统:java.io.FileNotFoundException:文件不存在:   /system/framework/org.ifaa.android.manager.jar               在java.util.zip.ZipFile。(ZipFile.java:212)               在java.util.zip.ZipFile。(ZipFile.java:149)               在java.util.jar.JarFile。(JarFile.java:160)               在java.util.jar.JarFile。(JarFile.java:97)               在libcore.io.ClassPathURLStreamHandler上。

请帮助我解决此问题。我找不到任何解决方案。

0 个答案:

没有答案