2015-10-11 163 views
0

我有一个活动,它有两个TextFields,用户可以在其中输入一些文本。发送信息至电子邮件

下面有一个按钮,我想提交输入两个TextFields的信息。作为电子邮件或消息。

有没有一种方法,其中的活动基本上是提交给我的用户信息?

+0

你基本上需要一个带有EXTRA_EMAIL,EXTRA_SUBJECT,EXTRA_TEXT extras的意图。 –

回答

1

您需要使用一个Intent打开 “撰写新邮件” 已填充所需的数据。

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("message/rfc822"); 
intent.putExtra(Intent.EXTRA_EMAIL , new String[]{emailAddressEditText.getText().toString()}); 
intent.putExtra(Intent.EXTRA_SUBJECT, emailSubjectEditText.getText().toString()); 
intent.putExtra(Intent.EXTRA_TEXT , emailBodyEditText.getText().toString()); 
try { 
    startActivity(Intent.createChooser(intent, "Leave feedback...")); 
} catch (android.content.ActivityNotFoundException ex) { 
    Toast.makeText(MyActivity.this, "No email clients installed.", Toast.LENGTH_SHORT).show(); 
} 
0

1.使用意向

2.使用.setType( “信息/ RFC822”)

buttonSend = (Button) findViewById(R.id.buttonSend); 
textTo = (EditText) findViewById(R.id.editTextTo); 
textSubject = (EditText) findViewById(R.id.editTextSubject); 
textMessage = (EditText) findViewById(R.id.editTextMessage); 

buttonSend.setOnClickListener(new OnClickListener() { 

@Override 
public void onClick(View v) { 

String to = textTo.getText().toString(); 
String subject = textSubject.getText().toString(); 
String message = textMessage.getText().toString(); 

    Intent email = new Intent(Intent.ACTION_SEND); 
    email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to}); 
    email.putExtra(Intent.EXTRA_SUBJECT, subject); 
    email.putExtra(Intent.EXTRA_TEXT, message); 

    email.setType("message/rfc822"); 

startActivity(Intent.createChooser(email, "Choose an Email client :")); 
} 
}); 
相关问题