0

我正在开发基于表单的应用程序。该表格包括客户详细信息。当他单击提交按钮时,表单的详细信息将作为电子邮件正文包含在内。

下面是我的代码:

订单.java

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;
import android.widget.Toast;

public class Order extends Activity{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.order);
        final EditText name   = (EditText)findViewById(R.id.username);
        final EditText mail   = (EditText)findViewById(R.id.email);
        final EditText phone   = (EditText)findViewById(R.id.phone);
        final EditText product   = (EditText)findViewById(R.id.product);
        final String _name = name.getText().toString();
        final String _mail = mail.getText().toString();
        final String _phone = phone.getText().toString();
        final String _product = product.getText().toString();
        System.out.println(_name);
        System.out.println(_mail);
        System.out.println(_phone);
        System.out.println(_product);
        Button email = (Button) findViewById(R.id.Button01);
        email.setOnClickListener(new OnClickListener(){  
                  public void onClick(View v){
                  String[] recipients = new String[]{"b.gadwantikar1@gmail.com", "",};
                      StringBuilder body = new StringBuilder();
                      StringBuilder body1 = new StringBuilder();
                      body1.append("To: " + recipients);
                      body.append("Name: "+name.getText().toString());
                      body.append("\n\n\nMail: "+mail.getText().toString());
                      body.append("\n\n\nPhone: "+phone.getText().toString());
                      body.append("\n\n\nProduct: "+product.getText().toString());
                      Intent i = new Intent(android.content.Intent.ACTION_SEND);
                      i.setType("text/plain");
                      i.putExtra(android.content.Intent.EXTRA_EMAIL, body1.toString());
                      i.putExtra(android.content.Intent.EXTRA_SUBJECT, "Customer Details");
                      i.putExtra(android.content.Intent.EXTRA_TEXT, body.toString());
startActivity(i);
}
});
}
}

xml文件是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >    

    <EditText
        android:layout_width="60dip"
        android:layout_height="wrap_content"
        android:id="@+id/edit"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn"
        android:text="Click"/>    
</LinearLayout>

我得到了程序中“from:”字段中给出的邮件ID,但我想要“to:”字段中的那个...

4

2 回答 2

1
StringBuilder body = new StringBuilder();
body.append("Name: "+nameField.getText().toString());
body.append("\nAge: "+ageField.getText().toString());
body.append("\nGender: "+genderField.getText().toString());

// Sending to admin
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL, new String[] {"admin@gmail.com"} );
i.putExtra(Intent.EXTRA_SUBJECT, "Customer Details");
i.putExtra(Intent.EXTRA_TEXT, body.toString());
startActivity(i);
于 2012-11-29T10:36:35.880 回答
1

您必须使用StringBuilder它将管理您的字符串。邮件应为 html 格式,因此您必须使用 html 支持的类的方法,例如Html.fromHtml(sb.toString());.

我只是展示了一些将附加到字符串并发送到邮件正文区域的文本,您可以在那里发送表单。

 public StringBuilder sb;
 sb= new StringBuilder();

   // This is Mail Format That will be show in Body area and send to be customer. 

   sb.append("<p><b><font color=\"#8CC248\">Title</b></p>");
   sb.append("<p><b><font color=\"#000000\">Dear,"+ edittextvalue in string mode +",</b></p>");

现在将此发送到邮件onClick事件

Intent i2 = new Intent(android.content.Intent.ACTION_SEND);      
i2.setType("text/html");
i2.putExtra(android.content.Intent.EXTRA_TEXT,Html.fromHtml(sb.toString()));

查看您的输出。

于 2012-11-29T10:28:46.933 回答