问题描述
我正在玩一个应用程序,该应用程序除其他功能外,还具有一个从图库中挑选图像的按钮。然后继续查看这些图像中的EXIF数据,以进行其他处理。
以下情况正常工作,并且已成功读取EXIF数据:
虽然无效,但正在使用该代码打开由Google相册应用提供的图像文件。
图像本身可以正确显示,但是缺少EXIF标签。请注意,从“照片”到我的应用程序共享确实可行,并且我可以看到“照片”应用程序中没有启用任何编辑设置。
我想知道是否有人遇到过这个问题,是否有解决方法。
package com.example.somepackage;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import java.io.InputStream;
import androidx.annotation.Nullable;
import androidx.exifinterface.media.ExifInterface;
import androidx.fragment.app.Fragment;
// snippet pieced together from working code
public class SomeFragment extends Fragment {
private static final int REQUEST_PICK_FROM_galLERY = 100;
// ............
// Called from an event handler
public void pickFromgallery() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent,REQUEST_PICK_FROM_galLERY);
}
@Override
public void onActivityResult(int requestCode,int resultCode,@Nullable Intent data) {
switch (requestCode) {
case REQUEST_PICK_FROM_galLERY:
if (resultCode == Activity.RESULT_OK) {
Uri uri = data.getData();
readExifData(uri);
}
break;
}
super.onActivityResult(requestCode,resultCode,data);
}
private void readExifData(Uri uri) {
try (InputStream is = getContext().getContentResolver().openInputStream(uri)) {
ExifInterface exif = new ExifInterface(is);
// Do something useful.
android.util.Log.w("Test","Camera make: " + exif.getAttribute(ExifInterface.TAG_MAKE));
} catch (Exception ex) {
ex.printstacktrace();
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)