我想让用户从相机捕获图像并上传到服务器。所以,我需要捕获的照片中的图像文件。获取拍摄照片无效
我搜索了很多解决方案,但都没有工作。
我尝试以下操作:
Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (camera_intent.resolveActivity(getActivity().getPackageManager()) != null) {
startActivityForResult(camera_intent, 1);
}
在onActivityResult
:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent dataIntent) {
super.onActivityResult(requestCode, resultCode, dataIntent);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == 1) {
Bundle dataBundle = dataIntent.getExtras();
Bitmap imageBitmap = (Bitmap) dataBundle.get("data");
img_profile.setImageBitmap(imageBitmap); //getting thumbnail and setting to preview image
try{
Uri selectedImageUri = dataIntent.getData();
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = getActivity().getContentResolver().query(selectedImageUri, projection, null, null,null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String filePath = cursor.getString(column_index);
profilePicFile = new File(filePath);
cursor.close();
}
catch (Exception e){
e.printStackTrace();
}
,但我我得到了nullPinterException说Uri is null
。我在网上尝试了几乎所有的解决方案,但都没有奏效。任何人都可以有任何解决方案吗?
@MrNice你好,你能不能回答,而不是在评论解释? –
您不会像这样获取捕获的图像的Uri,您在调用'startActivityForResult(camera_intent,1)'时必须传递图像路径,然后获取该图像路径。 –
@Sharpedge你能解答吗? –