public static void viewImageInStandardApp(final Activity activity, final Uri imgUri, final String geocode) {

        if (activity == null || imgUri == null) {
            return;
        }

        final Uri imageFileUri = getLocalImageFileUriForSharing(activity, imgUri, geocode);
        if (imageFileUri == null) {
            return;
        }

        try {
            final Intent intent = new Intent().setAction(Intent.ACTION_VIEW);
            intent.setDataAndType(imageFileUri, mimeTypeForUrl(imageFileUri.toString()));
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_NEW_TASK);
            activity.startActivity(intent);
        } catch (final Exception e) {
            Log.e("ImageUtils.viewImageInStandardApp", e);
        }
    }
adjusts a previously stored offline log image uri to maybe changed realities on the file system
main/src/main/java/cgeo/geocaching/utils/ImageUtils.java