2011-12-14 5 views
1

添付ファイルを送信するためにアンドロイドで設定済みの電子メールクライアントを起動しようとしています。私がエミュレータでそれを行うと、送信を行うように設定された電子メールクライアントはありません。また、onActivityResult()を設定してプログラム内の電車の停電を止めさせてもらえますが、物事が爆発したときに制御権が得られないようです。どうして?android:intent.ACTION_SENDの設定されたアクションを確認していますか?

これが私の意図である:

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("text/plain"); 
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{""}); 
intent.putExtra(Intent.EXTRA_SUBJECT, CSV_MAIL_SUBJECT); 
intent.putExtra(Intent.EXTRA_TEXT, CSV_MAIL_MSGBODY); 
intent.putExtra(Intent.EXTRA_STREAM, createCSV.tempfile.toURI()); 
try 
{ 
    startActivityForResult (intent, CSV_MAIL_RESULT_CODE); 
} 
catch (ActivityNotFoundException anf) 
{ 
    Log.d (TAG, "Activity not configured."); 
    //TODO: toast or something here.. 
} 

答えて

1

事は、私はエミュレータでそれを行う際に、何の電子メールクライアントがどのこれはActivityNotFoundExceptionを上げる必要がある

を送信しないためにそこに設定されていない、あります電話番号startActivityForResult()から

あなたのMIMEタイプは間違っています。 text/plainである必要があります。

私も()しようとすると、プログラム内で列車難破船を停止するようにonActivityResultを設定したが、それは物事が爆破時に制御を取得していないようです。どうして?

私が正しいとすれば、startActivityForResult()は失敗しているので、onActivityResult()で決して呼び出されません。

+0

ありがとうございます!あなたは両方のカウントで正しかった。私は、ActivityNotFoundExceptionのtry/catchを追加し、私が望んでいたような制御を得ることができました。さらに、プレーン/テキストをテキスト/プレーンに変更すると、メールアプリケーションが実際に登場しました。修正を反映するために上記のコードが変更されました。 – wufoo

関連する問題