2017-03-08 42 views
0

崩潰的問題我也跟着從
https://stackoverflow.com/a/10168114/5078763

http://www.theappguruz.com/blog/android-take-photo-camera-gallery-code-sample
後編輯的代碼如下安卓:Java圖像選取器從畫廊在getBitmap

我的應用程序崩潰在

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); 
} 

幫我修復此故障

+0

請在這裏提供logcat錯誤。 –

回答

0
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「爲我工作,希望它能幫助你。

+0

凸輪工作正常我
問題是與畫廊選取器 –

1

先發布完整的崩潰日誌。

但是,請檢查uriVaj是否爲空並且您的應用程序權限。

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