我从android上的gallery或camera获取图片url,但无法将其转换为文件。当我在android中用java开发一个应用程序时,有时我需要将图片从多媒体资料和照相机中获取到我的应用程序中。但当我试着这样做的时候,我会犯错误。这里没有标准吗?代码在一个api级别上工作,而在另一个api级别上不工作。或者,当我获取一些图像的uri并将其转换为文件时,不管api级别如何,都会得到一个错误。我想知道这个问题有没有根本的解决办法?
我从这个开始
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent,IMAGE_RESULT);
然后我用以下代码捕捉数据:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == IMAGE_RESULT) {
String filePath = ImageFilePath.getPath(OwnProfileActivity.this, data.getData());
selectedFile = new File(filePath);
showProgressDialog();
Handler handler = new Handler();
handler.postDelayed(this::chaneProfileImage, 1000);
}
}
}
1条答案
按热度按时间fivyi3re1#
我可以提出这样的建议,但当然这是如果你有一个位图:
然后您可以使用uri创建文件
资料来源:https://gist.github.com/franciscobarrios/9f6634c87ca6e56ed70cd96807dd1dcb