java - 选择一张图片而不是多张时出现android错误

标签 java android android-intent android-gallery

我正在尝试从我的图库中获取图像并将其上传到服务器。我想允许用户从图库中选择多个图像。当我选择两个或更多图像时,效果非常好。但是,当我仅选择一张图像时,它会忽略它并且不返回任何内容。这是我的代码,当没有剪辑数据为空时,我正在打印消息

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {


        if (requestCode == 10 && resultCode == Activity.RESULT_OK) {

            if(data!=null)
            {
                ClipData clipData = data.getClipData();

                if (clipData != null) {
                    bitmaps_group=new Bitmap[clipData.getItemCount()];
                    for (int i = 0; i < clipData.getItemCount(); i++) {

                        ClipData.Item item = clipData.getItemAt(i);
                        Uri uri = item.getUri();

                        try {
                            bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
                            bitmaps_group[i]=MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);

                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        if(i==4)
                            i=clipData.getItemCount()+1;
                    }
                    new Encode_image().execute();
                }
                else
                    Toast.makeText(getActivity(),"error",Toast.LENGTH_SHORT).show();
            }


        }

}

这里我称之为打开画廊:

imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        System.out.println("r1 clikcid");

        Intent intent = new Intent();
        intent.setType("image/*");
        intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent,"Select Picture"), 10);
    }
});

最佳答案

如果只选择了一张图像,则它不会像选择更多图像那样位于 ClipData 中。

相反,data.getData() 将是所选数据的 Uri

关于java - 选择一张图片而不是多张时出现android错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40472983/

相关文章:

android - com.android.build.api.transform.TransformException : java. util.zip.ZipException:构建 APK 时重复条目

java - Adb am 命令有效,但 java 代码中的 Intent 不起作用

java - 难以理解 Intent 如何运作

java - 如何使用 java 库在 google Sheets api 上设置自动换行策略

android - 如何将其他布局放在gridlayout下面?

java - Edittext,提交时需要显示在android的另一个窗口上

android - Android的锁屏来源

android - 在onResume中调用intent会导致无限递归

java - 解析java的doc文件的文件名

java - 西蒙说计数器无法正常工作