所以,我希望它通过电子邮件将用户的输入发送给我,但我不希望用户必须选择一个电子邮件应用程序,并手动输入“收件人”地址。不知道该怎么办。
目前,它保存了所有输入,但它让用户选择一个电子邮件客户端,并且不预先填充“to”字段。
package com.rappe.refillsapp;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Button;
import android.content.Intent;
public class RefillActivity extends Activity {
public String name;
public String birthday;
public String prescriptionOptions;
public String notes;
public String number;
public String email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.refill_activity_main);
Button submit = (Button) findViewById(R.id.ButtonSendRefillRequest);
submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
sendRefillRequest();
String to = email;
String subject = name;
String message = (birthday+"\n"+number+"\n"+prescriptionOptions+"\n"+notes);
Intent mEmail = new Intent(Intent.ACTION_SEND);
mEmail.putExtra(Intent.EXTRA_EMAIL, to);
mEmail.putExtra(Intent.EXTRA_SUBJECT, subject);
mEmail.putExtra(Intent.EXTRA_TEXT, message);
//lets user choose email client/app
mEmail.setType("message/rfc822");
startActivity(Intent.createChooser(mEmail, "Choose an email client to send your request for a refill!"));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.refill, menu);
return true;
}
public void sendRefillRequest(){
final EditText nameField = (EditText) findViewById(R.id.EditTextName);
name = nameField.getText().toString();
final EditText birthdayField = (EditText) findViewById(R.id.EditTextBirthday);
birthday = birthdayField.getText().toString();
final EditText numberField = (EditText) findViewById(R.id.EditTextPrescriptionNumber);
number = numberField.getText().toString();
final Spinner prescriptionOptions = (Spinner) findViewById(R.id.SpinnerPrescriptionOptions);
this.prescriptionOptions = prescriptionOptions.getSelectedItem().toString();
final EditText notesField = (EditText) findViewById(R.id.EditTextSpecialNotes);
notes = notesField.getText().toString();
}
}