2011-12-29 9 views
2

Action_Sendを使用して電子メールを送信する小さなアプリケーションを作成しました。 送信ボタンを押してアクティビティを開始すると、GmailまたはHotmailアプリ(hotmail + SEVEN)を使用してメールを送信するオプションが表示されます。 Gmailを選択すると、アクティビティは強制的に閉じられます。 Hotmailを選択した場合、ユーザーが入力した電子メールアドレスはNULLとして表示されます。電子メールgmailを使用したアクティビティクラッシュと電子メールアドレスがホットメールにNULLとして表示される

以下のコードを投稿しました。私は間違って何をしていますか?これらの行で

package android.development.tutorial; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 

public class EmailActivity extends Activity implements View.OnClickListener 
{ 
    String  receipantAddress,  subject, message; 
    EditText edtReceipantAddress, edtSubject, edtMessage; 
    Button  btnSend; 

    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     this.setContentView(R.layout.email); 

     initUIComponents(); 
    } 

    private void initUIComponents() 
    { 
     this.edtReceipantAddress= (EditText) findViewById(R.id.edtReceipantAddress); 
     this.edtSubject   = (EditText) findViewById(R.id.edtSubject); 
     this.edtMessage   = (EditText) findViewById(R.id.edtMessage); 

     this.btnSend   = (Button) findViewById(R.id.btnSend); 
     btnSend.setOnClickListener(this); 
    } 

    private void setEmailParameters() 
    { 
     this.receipantAddress = this.edtReceipantAddress.getText().toString(); 
     this.subject   = this.edtSubject.getText().toString(); 
     this.message   = this.edtMessage.getText().toString(); 
    } 

    public void onClick(View v) 
    { 
     String emailAddresses []= {this.receipantAddress}; 
     setEmailParameters(); 

     Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,emailAddresses); 
     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, this.subject); 
     emailIntent.setType("plain/text"); 
     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, this.message); 
     this.startActivity(emailIntent); 
    } 

    protected void onPause() 
    { 
     super.onPause(); 
     EmailActivity.this.finish(); 
    } 

} 

答えて

2

だけ愚かな間違い:あなたはsetEmailParameters内​​のパラメータの設定を行っているので、それは、以下のようにする必要があります

String emailAddresses []= {this.receipantAddress}; 
setEmailParameters(); 

()。

setEmailParameters(); 
String emailAddresses []= {this.receipantAddress}; 
+1

+1 - 目の2番目のセットが常に役立ちます。だから私はペアプログラミングが大好きです。 –

+0

@MatNadrofsky Thanx :) –

+0

あなたはPareshを救った!完全にこれを見落とした:) –

関連する問題