2012-05-01 2 views
1

Я разрабатываю приложение, в котором я должен отправить изображение по электронной почте. Мне удалось отправить электронную почту, но вложение отправлено размером 0 КБ. Я не понимаю, в чем проблема. Ниже я отправляю свой код.Вложение, отправленное по электронной почте, составляет 0 КБ

import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 

public class EtestActivity extends Activity { 
/** Called when the activity is first created. */ 
Button email; 
Intent in; 
private static final String TAG = "EmailLauncherActivity"; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    email = (Button)findViewById(R.id.email); 
    email.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      try { 
       in = new Intent(Intent.ACTION_SEND); 
       in.setType("image/jpeg"); 
       in.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/android.jpg")); 

       startActivity(Intent.createChooser(in, "Email...")); 
      } catch (Exception e) { 
       Log.e(TAG, "email sending failed", e); 
      }//catch 
     }//onClick 
    }); 
}//onCreate 
}//class 

ответ

1

У меня также возникает та же проблема, которая решена путем изменения типа MIME.

Попробуйте это in.setType ("image/jpg");

+0

Спасибо, Кришнакант, Это сработало. – Nitish

+0

Еще одна проблема, с которой я столкнулся, - это то, что я использовал createchooser(), она отображает список всех приложений, способных отправить файл, но мне нужен только список почтовых клиентов. Не могли бы вы рассказать мне, как это сделать? – Nitish

+0

Попробуйте с Intent.ACTION_SENDTO вместо Intent.ACTION_SEND –

0

Был ли ваш телефон подключен к вашему компьютеру в то время? SD-карта может быть недоступна при подключении к вашему компьютеру, поэтому на самом деле она не может быть прикреплена к изображению.

+0

Нет, я предоставил поддержку SD-карты моему эмулятору, в котором я сохранил изображение. То же приложение, которое я тестировал на своем телефоне отдельно, а также я сохранил изображение в SD-карте под названием android.jpg. Но я столкнулся с одной и той же проблемой в обоих случаях. – Nitish

Смежные вопросы