2017-01-09 12 views
2

私はアンドロイドアプリケーションでイメージをキャプチャしていました。イメージパスを取得して、そのパスを電子メール機能の文字列として送信しています。 MIMEメールで私は私のコードはAndroidでの品質の悪いイメージの添付ファイル

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if(resultCode == RESULT_OK){ 

     //image.setImageBitmap(null); 

     //Uri return from external activity 
     URI = data.getData(); 
     // text1.setText("Returned Uri: " + orgUri.toString() + "\n"); 

     //path converted from Uri 
     convertedPath = getRealPathFromURI(URI); 
     // text2.setText("Real Path: " + convertedPath + "\n"); 

     //Uri convert back again from path 
     uriFromPath = Uri.fromFile(new File(convertedPath)); 
     Log.e("HAAAAAAAAAAAIIIIII", uriFromPath.toString() + "\n"); 
    } 

} 

public String getRealPathFromURI(Uri contentUri) { 
    String[] proj = { MediaStore.Images.Media.DATA }; 

    //This method was deprecated in API level 11 
    //Cursor cursor = managedQuery(contentUri, proj, null, null, null); 

    CursorLoader cursorLoader = new CursorLoader(
      this, 
      contentUri, proj, null, null, null); 
    Cursor cursor = cursorLoader.loadInBackground(); 

    int column_index = 
      cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 

をメールで送信する文字列としてイメージパスを渡す...パスを取得するには...

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
         startActivityForResult(i, REQ_CAMERA_IMAGE); 

活動であるDataSource fds = new FileDataSource(path);

ように、そのファイルを添付しました

messageBodyPart = new MimeBodyPart(); 
    DataSource fds = new FileDataSource(path); 
    messageBodyPart.setDataHandler(new DataHandler(fds)); 
    multipart.addBodyPart(messageBodyPart); 

答えて

関連する問題