无法从android中的照相机文件夹中选择照片

无法从android中的照相机文件夹中选择照片,android,Android,我的一个客户说他不能从gallery(相机文件夹)中选择照片,但他可以从其他文件夹中选择照片 我的android应用程序有以下几点 compileSdkVersion 25 buildToolsVersion '25.0.2' 及 任何帮助都将不胜感激,谢谢是的,当无法加载位图时会发生这种情况,因为图像的高度和宽度较大,即2048*2048。通过相机拍摄的图像通常尺寸较大,因此,调整图像大小是一种很好的做法 下面只是一个裁剪图像的示例,如果图像尺寸较大,则不考虑图像比率 public

我的一个客户说他不能从gallery(相机文件夹)中选择照片,但他可以从其他文件夹中选择照片

我的android应用程序有以下几点

compileSdkVersion 25
buildToolsVersion '25.0.2'


任何帮助都将不胜感激,谢谢

是的,当无法加载
位图
时会发生这种情况,因为图像的高度和宽度较大,即
2048*2048
。通过相机拍摄的图像通常尺寸较大,因此,调整图像大小是一种很好的做法

下面只是一个裁剪图像的示例,如果图像尺寸较大,则不考虑图像比率

    public class InputImageCompressor extends Activity{

    public static void compressInputImage(Uri inputImageData, Context context, ImageView newIV)
    {
        Bitmap bitmap;
        //Uri inputImageData = data.getData();
        try
        {
            Bitmap bitmapInputImage = MediaStore.Images.Media.getBitmap(context.getContentResolver(), inputImageData);
            if (bitmapInputImage.getWidth() > 2048 && bitmapInputImage.getHeight() > 2048)
            {
                bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1024, 1280, true);
                newIV.setImageBitmap(bitmap);
            }
            else if (bitmapInputImage.getWidth() > 2048 && bitmapInputImage.getHeight() < 2048)
            {
                bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1920, 1200, true);
                newIV.setImageBitmap(bitmap);
            }
            else if (bitmapInputImage.getWidth() < 2048 && bitmapInputImage.getHeight() > 2048)
            {
                bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1024, 1280, true);
                newIV.setImageBitmap(bitmap);
            }
            else if (bitmapInputImage.getWidth() < 2048 && bitmapInputImage.getHeight() < 2048)
            {
                bitmap = Bitmap.createScaledBitmap(bitmapInputImage, bitmapInputImage.getWidth(), bitmapInputImage.getHeight(), true);
                newIV.setImageBitmap(bitmap);
            }
        } catch (Exception e)
        {
            Toast.makeText(context, e.toString(), Toast.LENGTH_LONG).show();
        }
    }
}

我试着从gallary(下载文件夹)中选择3840*2160的图像,它工作正常……是的,但试着压缩来自相机的图像,它会工作的
    public class InputImageCompressor extends Activity{

    public static void compressInputImage(Uri inputImageData, Context context, ImageView newIV)
    {
        Bitmap bitmap;
        //Uri inputImageData = data.getData();
        try
        {
            Bitmap bitmapInputImage = MediaStore.Images.Media.getBitmap(context.getContentResolver(), inputImageData);
            if (bitmapInputImage.getWidth() > 2048 && bitmapInputImage.getHeight() > 2048)
            {
                bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1024, 1280, true);
                newIV.setImageBitmap(bitmap);
            }
            else if (bitmapInputImage.getWidth() > 2048 && bitmapInputImage.getHeight() < 2048)
            {
                bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1920, 1200, true);
                newIV.setImageBitmap(bitmap);
            }
            else if (bitmapInputImage.getWidth() < 2048 && bitmapInputImage.getHeight() > 2048)
            {
                bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1024, 1280, true);
                newIV.setImageBitmap(bitmap);
            }
            else if (bitmapInputImage.getWidth() < 2048 && bitmapInputImage.getHeight() < 2048)
            {
                bitmap = Bitmap.createScaledBitmap(bitmapInputImage, bitmapInputImage.getWidth(), bitmapInputImage.getHeight(), true);
                newIV.setImageBitmap(bitmap);
            }
        } catch (Exception e)
        {
            Toast.makeText(context, e.toString(), Toast.LENGTH_LONG).show();
        }
    }
}
InputImageCompressor.compressInputImage(data, activity_context, imageView_to_place_image(imageview));