2012-11-29 39 views
0

我正在开发基于表单的应用程序。该表格包含客户详细信息。当他点击提交按钮时,表单的细节被包含在电子邮件正文中。如何发送邮件正文中包含表单详细信息?

下面是我的代码:

Orders.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[]{"[email protected]", "",}; 
         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> 

我得到它在程序给出的邮件ID “从”字段,但我希望那个在“:”字段中...

+0

那么你的问题是什么? – Elemental

+0

deatails应该邮寄给管理员... – Abhay

+0

你有什么问题?发送电子邮件或获取身体细节? – ThePCWizard

回答

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[] {"[email protected]"}); 
     i.putExtra(Intent.EXTRA_SUBJECT, "Customer Details"); 
     i.putExtra(Intent.EXTRA_TEXT, body.toString()); 
     startActivity(i); 

希望这有助于!

1

您必须使用StringBuilder将管理你的字符串。 mail应该是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())); 

请参阅您的输出。

相关问题