在LG Optimus中挑选图像不起作用

时间:2015-03-04 12:53:56

标签: android image android-intent gallery lg

我正在开发一些Android应用。我想在库中选择图片并将其裁剪为片段。此代码适用于索尼,三星,Nexus,AOSP,但它并不适用于LG Optimus手机(例如Optimus G Pro)。裁剪图像完成后它不会返回,并且不会调用 onActivityResult 回调。你能解决这个问题吗?示例代码在这里。

它正在请求意图代码。

    getView().findViewById(R.id.info_img).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            intent.setType("image/*");
            intent.putExtra("crop", "true");
            intent.putExtra("noFaceDetection", true);
            intent.putExtra("aspectX", 1);
            intent.putExtra("aspectY", 1);
            intent.putExtra("scale", true);
            intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
            startActivityForResult(intent, 0);
        }
    });

onActivityResult 回调。它在片段类中被覆盖。

    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 0 && resultCode == getActivity().RESULT_OK) {
        Bitmap bitmap;

        try {
            Uri selectedImage = data.getData();
            InputStream imageStream = getActivity().getContentResolver().openInputStream(selectedImage);
            bitmap = BitmapFactory.decodeStream(imageStream);
        } catch (Exception e) {
            bitmap = (Bitmap) data.getExtras().get("data");
        }

        if (bitmap != null){
            // TODO : It must Worked at here!!
        }

    }

0 个答案:

没有答案