2016-04-30 13 views
-1

ギャラリーから画像を選択しようとすると、Load Failedというエラーが表示されます。一部の携帯電話ではそのように表示されますボディあなたがギャラリーから画像を選択するとエラーが表示されます

 private void openGalleryForImageSelection() 
{ 
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    try 
    { 
     startActivityForResult(intent, IMAGE_FROM_GALLERY); 
    } 
    catch(Throwable e) 
    { 
     Toast.makeText(this,getResources().getString(R.string.image_error),Toast.LENGTH_SHORT).show(); 
    } 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (((requestCode == IMAGE_FROM_GALLERY) || (requestCode == IMAGE_FROM_CAMERA)) && (Activity.RESULT_OK == resultCode)) 
    { 
     if (requestCode == IMAGE_FROM_GALLERY) 
     { 
      mImageCaptureUri = data.getData(); 
     } 
     cropTheImage(); 
     return; 
    } 
} 
+0

このissue.Thankを解決するために私を助けるだからここであなたのコードですか? – ianhanniballake

+0

ありがとうございます。私は自分のコードを追加しました。あなたはこの問題を解決するための解決策を確認してください。 –

+0

whereはcropTheImage()関数 –

答えて

0
void selectImage() {  
Intent intent = new Intent(
    Intent.ACTION_PICK, 
    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    intent.setType("image/*"); 
    startActivityForResult(
    Intent.createChooser(intent, "Select File"), 
    IMAGE_FROM_GALLERY); 
} 



protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == IMAGE_FROM_GALLERY && resultCode == RESULT_OK) { 
     Uri selectedImageUri = data.getData(); 
     String[] projection = { MediaColumns.DATA }; 
     CursorLoader cursorLoader = new CursorLoader(this,selectedImageUri, projection, null, null, 
     null); 
     Cursor cursor =cursorLoader.loadInBackground(); 
     int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA); 
     cursor.moveToFirst(); 
     String selectedImagePath = cursor.getString(column_index); 
     Bitmap bm; 

     file = new File(selectedImagePath); 
     BitmapFactory.Options options = new BitmapFactory.Options(); 
     options.inJustDecodeBounds = true; 
     BitmapFactory.decodeFile(selectedImagePath, options); 
     final int REQUIRED_SIZE = 200; 
     int scale = 1; 
     while (options.outWidth/scale/2 >= REQUIRED_SIZE 
     && options.outHeight/scale/2 >= REQUIRED_SIZE) 
     scale *= 2; 
     options.inSampleSize = scale; 
     options.inJustDecodeBounds = false; 
     bm = BitmapFactory.decodeFile(selectedImagePath, options); 
    } 
} 
0
private void openGallery() { 
    Intent intent = new Intent(Intent.ACTION_PICK, 
      android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), 
      PICK_IMAGE); 
} 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == PICK_IMAGE) { 

     try { 
      taken = "gallery"; 
      selectedImage = data.getData(); 
      String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

      cursor = getActivity().getContentResolver().query(selectedImage, 
        filePathColumn, null, null, null); 
      cursor.moveToFirst(); 
      columnindex = cursor.getColumnIndex(filePathColumn[0]); 
      file_path = cursor.getString(columnindex); 
      // Log.e("Attachment Path:", attachmentFile); 
      // tv_attach.setText(file_path); 
      URI = Uri.parse("file://" + file_path); 
      image_path = file_path; 
      cursor.close(); 
      if (resultCode == 0) { 
       dialog_camera.dismiss(); 
      } else { 
       dialog_camera.dismiss();  
      } 
     } catch (Exception e) { 
     } 
+0

です。これらの変更点とその理由をご説明ください。 –

関連する問題