0

我目前正在开发一个具有“提问表单”的 Android 应用程序,用户可以在其中输入问题并将其发送到预定的电子邮件地址。我想知道如何允许应用程序捕获用户输入的内容并使用按钮将输入直接发送到预定的电子邮件,或者不将用户带到电子邮件应用程序页面,或者捕获所有用户输入并将其发送到内置的电子邮件意图。我已经看到了很多与我的问题相关的问题,但我只想确认,如果我使用 JavaMail API 在 Android 中遵循此发送电子邮件而不使用默认/内置应用程序

回答,它是否允许我捕获用户输入并将其发送到预先确定的电子邮件地址?

以下是我尝试过的代码

public void onClick(View v) {
    // TODO Auto-generated method stub
    convertEditTextVarsIntoStringsAndYesThisIsAMethodWeCreated();
    String[] to = {"someone@hotmail.co.uk"};

    String message[] = {name} ;
    String message2 [] = {mobile} ;
    String message3 [] = {email2} ;
    String message4 [] = {question} ;


    Intent Emailintent = new Intent(android.content.Intent.ACTION_SEND) ;
    Emailintent.putExtra(android.content.Intent.EXTRA_EMAIL, to);

    Emailintent.setType("plain/text");
    Emailintent.putExtra(android.content.Intent.EXTRA_TEXT, message);
    Emailintent.putExtra(android.content.Intent.EXTRA_TEXT, message2);
    Emailintent.putExtra(android.content.Intent.EXTRA_TEXT, message3);
    Emailintent.putExtra(android.content.Intent.EXTRA_TEXT, message4);
    startActivity(Emailintent);
}
private void convertEditTextVarsIntoStringsAndYesThisIsAMethodWeCreated() {
    // TODO Auto-generated method stub
    email2= youremail.getText().toString();
    mobile = yourmobile.getText().toString();
    name = yourname.getText().toString();
    question = yourquestion.getText().toString();


}
4

3 回答 3

1

尝试这样做:

EditText ed=(EditText) findViewById(R.id.edittext1);

当用户编辑编辑文本时,他按下一个按钮:

button.setOnClickListener(this);

实现 onclick 侦听器并添加未实现的方法,并在 onclicklistener 中执行以下操作:

String emailaddress="someone@yahoo.com";
String subject="Subject";
String message=ed.getText().toString();
Intent email = new Intent(android.content.Intent.ACTION_SEND);
email.putExtra(android.content.Intent.EXTRA_EMAIL, emailaddress);
email.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
email.setType("plain/text");
email.putExtra(android.content.Intent.EXTRA_TEXT, message);
startActivity(email);
于 2012-08-02T12:53:19.723 回答
1

试试这个,我想这就是你所期望的,它会将所有详细信息发布到你的邮箱中,

第1步:

convertEditTextVarsIntoStringsAndYesThisIsAMethodWeCreated()在发送您的电子邮件之前打电话给这个。

(或者)

第 2 步:使用此代码

在 OnClick 方法中

        convertEditTextVarsIntoStringsAndYesThisIsAMethodWeCreated();

        String body = "Name:"+ name+"\n Mobile"+ mobile+"\n Emailto"+email2+"\nQuestion"+ question;
        Intent emailtosend = new Intent(Intent.ACTION_SEND);
        emailtosend.putExtra(Intent.EXTRA_EMAIL, new String[]{ to}); 
        emailtosend.putExtra(Intent.EXTRA_TEXT, body);

        //need this to prompts email client only
        emailtosend.setType("message/rfc822"); 

        startActivity(Intent.createChooser(emailtosend, "Select email application"));    

希望能帮助到你

于 2012-08-02T12:58:42.673 回答
1

按照您提供的链接中的步骤操作,它似乎有效。请记住,代码中有硬编码的密码。

于 2012-08-02T13:10:12.370 回答