【问题标题】:Android : Java Image Picker from gallery crashing issue at getBitmapAndroid:来自 getBitmap 画廊崩溃问题的 Java Image Picker
【发布时间】:2017-07-28 17:20:00
【问题描述】:

我关注了来自
https://stackoverflow.com/a/10168114/5078763 的帖子

http://www.theappguruz.com/blog/android-take-photo-camera-gallery-code-sample
编辑代码如下

我的应用程序在

崩溃了
MediaStore.Images.Media.getBitmap

它在 Bfr 日志下执行

Log.d("TAG", "onActivityResult: bfr");

但不是 Afr 日志

Log.d("TAG", "onActivityResult: Afr");

我的完整代码如下:

void calGlryImjPkrFnc()
{
    Intent glrImjPkrVar = new Intent(Intent.ACTION_PICK,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    glrImjPkrVar.setType("image/*");
    startActivityForResult(glrImjPkrVar , 1);
}

void calCamImjPkrFnc()
{
    Intent camImjPkrVar = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(camImjPkrVar, 2);
}

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent)
{
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent);

    Bitmap pkdImjBitmapVar = null;

    if(requestCode == 1 && resultCode == RESULT_OK)
    {
        Log.d("TAG",requestCode + "");
        if (imageReturnedIntent != null)
        {
            try
            {

                ContentResolver contntMgrVaj = getApplicationContext().getContentResolver();
                Uri uriVaj = imageReturnedIntent.getData();

                Log.d("TAG", "onActivityResult: bfr");

                pkdImjBitmapVar = MediaStore.Images.Media.getBitmap(contntMgrVaj, uriVaj);

                Log.d("TAG", "onActivityResult: Afr");

            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }
    else if(requestCode == 2 && resultCode == RESULT_OK)
    {
        pkdImjBitmapVar = (Bitmap) imageReturnedIntent.getExtras().get("data");
    }

    imjVyuVar.setImageBitmap(pkdImjBitmapVar);
}

帮我修复这个崩溃

【问题讨论】:

  • 请在此处提供 logcat 错误。

标签: android image bitmap gallery picker


【解决方案1】:

首先发布完整的崩溃日志。

但是,请检查 uriVaj 是否不为空以及您的应用程序权限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

【讨论】:

    【解决方案2】:
    void calCamImjPkrFnc() {
        File image = new File("Your path you want to save file");
        Uri uriSavedImage = Uri.fromFile(image);
        Intent camImjPkrVar = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); 
        intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, uriSavedImage); 
        startActivityForResult(camImjPkrVar, 2);
    }
    

    通过添加“android.provider.MediaStore.EXTRA_OUTPUT”为我工作,希望对您有所帮助。

    【讨论】:

    • Cam 对我来说工作正常
      Prob 与 Gallery Picker 一起使用
    猜你喜欢
    • 2022-11-08
    • 2021-05-11
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多