电子邮件意图电子邮件选配 [英] Email Intent Email Chooser
问题描述
我有我的应用程序的问题。该应用的目的是收集数据,并使用JavaMail到指定的电子邮件地址提交数据的形式。当用户点击该按钮,就应该收到提示,选择一个电子邮件客户端,但是当我测试我没有收到此提示。谁能告诉我,我缺少的是什么?
进口android.app.Activity;
进口android.content.Intent;
进口android.os.Bundle;
进口android.view.View;
进口android.widget.Button;
进口android.widget.EditText;
进口android.widget.Spinner;
进口android.widget.TextView;公共类SubmitForm扩展活动实现View.OnClickListener {
私人意图emailIntent;
的EditText personsFirstName,personsLastName,personsEmail,personsPhone,评论,vehicleModel;
微调vehicleYear,vehicleMake,serviceTime,serviceNeeded;
TextView的serviceDate;
串FNAME,LNAME,emailAdd,phoneNumber的,vehicleYears,vehicleModeltrim,vehicleManu,serviceAppointment,serviceAppointmentTime,serviceTypeNeeded,extraComments;
按钮sendEmail;@覆盖
保护无效的onCreate(捆绑savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
的setContentView(R.layout.service);
initializeVars();
sendEmail.setOnClickListener(本);
}
私人无效initializeVars(){
// TODO自动生成方法存根
personsFirstName =(EditText上)findViewById(R.id.firstName);
personsLastName =(EditText上)findViewById(R.id.lastName);
personsEmail =(EditText上)findViewById(R.id.Email);
personsPhone =(EditText上)findViewById(R.id.PhoneNumber);
vehicleYear =(微调)findViewById(R.id.sYear);
vehicleMake =(微调)findViewById(R.id.sMake);
vehicleModel =(EditText上)findViewById(R.id.Model);
serviceDate =(的TextView)findViewById(R.id.Model);
serviceTime =(微调)findViewById(R.id.sTime);
serviceNeeded =(微调)findViewById(R.id.sNeeded);
评论=(EditText上)findViewById(R.id.eComments);
sendEmail =(按钮)findViewById(R.id.bSubmit);
}
公共无效的onClick(视图v){
// TODO自动生成方法存根
convertToString();
字符串EMAILADDRESS [] = {} emailAdd;
字符串消息=请查看下面的
+\\ n+
+'\\ n'+名字:+ FNAME
+'\\ n'+姓:+ LNAME
+'\\ n'+电子邮件:+ emailAdd
+'\\ n'+电话号码+ phoneNumber的
+'\\ n'+Vechile年:+ vehicleYears
+'\\ n'+车辆品牌:+ vehicleManu
+\\ n+车辆型号+ vehicleModeltrim
+\\ n+请求的服务时间:+ serviceAppointment
+\\ n+请求的服务时间:+ serviceAppointmentTime
+\\ n+服务所需的:+ serviceTypeNeeded
+\\ n+点评:+ extraComments; 意图emailIntent =新意图(android.content.Intent.ACTION_SEND);
emailIntent.setType(纯/文);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,新的String [] {test@someemail.com}); emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,EMAILADDRESS);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,计划服务请求); emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,消息);
startActivity(Intent.createChooser(emailIntent,请选择电子邮件客户端));
}
私人无效convertToString(){
// TODO自动生成方法存根 FNAME = personsFirstName.getText()的toString()。
。LNAME = personsLastName.getText()的toString();
。emailAdd = personsEmail.getText()的toString();
。phoneNumber的= personsPhone.getText()的toString(); // vehicleYears = vehicleYear.getText()的toString();
vehicleYears =(字符串)vehicleYear.getAdapter()的getItem(RESULT_OK)。
// vehicleManu = vehicleMake.getText()的toString();
vehicleManu =(字符串)vehicleMake.getAdapter()的getItem(RESULT_OK)。 。vehicleModeltrim = vehicleModel.getText()的toString();
。serviceAppointment = serviceDate.getText()的toString();
serviceAppointmentTime =(字符串)serviceTime.getAdapter()的getItem(RESULT_OK)。
// serviceTypeNeeded = serviceNeeded.getText()的toString();
serviceTypeNeeded =(字符串)serviceNeeded.getAdapter()的getItem(RESULT_OK)。 extraComments = comments.getText()的toString()。
}
@覆盖
保护无效的onPause(){
// TODO自动生成方法存根
super.onPause();
完();
}
}
如果妳只想电子邮件客户端中选择安装在设备上,你可以利用ACTION_SENTTO选项
字符串MAILTO =email@gmail.com;
意图email_intent =新意图(Intent.ACTION_SENDTO,Uri.fromParts(电子邮件地址,邮寄地址,NULL));
email_intent.putExtra(android.content.Intent.EXTRA_SUBJECT主题的文字在这里);
email_intent.putExtra(android.content.Intent.EXTRA_TEXT,这里正文);startActivity(Intent.createChooser(email_intent,发送电子邮件......));
尝试在实际设备这封邮件意图......模拟器可能不会给你的结果。
好运气..
I'm having an issue with my application. The purpose of the app is to collect data and submit the data form using javamail to a specified email address. when the user clicks the button, they should receive a prompt to select an email client, however I am not getting this prompt when I test it. Can someone tell me what I am missing?
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class SubmitForm extends Activity implements View.OnClickListener {
private Intent emailIntent;
EditText personsFirstName, personsLastName, personsEmail, personsPhone, comments, vehicleModel;
Spinner vehicleYear, vehicleMake, serviceTime, serviceNeeded;
TextView serviceDate;
String fname, lname, emailAdd, phoneNumber, vehicleYears, vehicleModeltrim, vehicleManu, serviceAppointment, serviceAppointmentTime, serviceTypeNeeded, extraComments;
Button sendEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.service);
initializeVars();
sendEmail.setOnClickListener(this);
}
private void initializeVars() {
// TODO Auto-generated method stub
personsFirstName = (EditText) findViewById(R.id.firstName);
personsLastName = (EditText) findViewById(R.id.lastName);
personsEmail = (EditText) findViewById(R.id.Email);
personsPhone = (EditText) findViewById(R.id.PhoneNumber);
vehicleYear = (Spinner) findViewById(R.id.sYear);
vehicleMake = (Spinner) findViewById(R.id.sMake);
vehicleModel = (EditText) findViewById(R.id.Model);
serviceDate = (TextView) findViewById(R.id.Model);
serviceTime = (Spinner) findViewById(R.id.sTime);
serviceNeeded = (Spinner) findViewById(R.id.sNeeded);
comments = (EditText) findViewById(R.id.eComments);
sendEmail = (Button) findViewById(R.id.bSubmit);
}
public void onClick(View v) {
// TODO Auto-generated method stub
convertToString();
String emailaddress[] = { emailAdd };
String message = "Please Review the following"
+ '\n' + " "
+ '\n' + "First Name: " + fname
+ '\n' + "Last Name: " + lname
+ '\n' + "Email :" + emailAdd
+ '\n' + "Phone Number: " + phoneNumber
+ '\n' + "Vechile Year: " + vehicleYears
+ '\n' + "Vehicle Make: " + vehicleManu
+ '\n' + "Vehicle Model: " + vehicleModeltrim
+ '\n' + "Requested Service Date: " + serviceAppointment
+ '\n' + "Requested Service Time: " + serviceAppointmentTime
+ '\n' + "Service Needed: " + serviceTypeNeeded
+ '\n' + "Comments: " + extraComments;
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"test@someemail.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, emailaddress);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Schedule Service Request");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
startActivity(Intent.createChooser(emailIntent, "Please select Email Client"));
}
private void convertToString() {
// TODO Auto-generated method stub
fname = personsFirstName.getText().toString();
lname = personsLastName.getText().toString();
emailAdd = personsEmail.getText().toString();
phoneNumber = personsPhone.getText().toString();
//vehicleYears = vehicleYear.getText().toString();
vehicleYears = (String) vehicleYear.getAdapter().getItem(RESULT_OK);
//vehicleManu = vehicleMake.getText().toString();
vehicleManu = (String) vehicleMake.getAdapter().getItem(RESULT_OK);
vehicleModeltrim = vehicleModel.getText().toString();
serviceAppointment = serviceDate.getText().toString();
serviceAppointmentTime = (String) serviceTime.getAdapter().getItem(RESULT_OK);
//serviceTypeNeeded = serviceNeeded.getText().toString();
serviceTypeNeeded = (String) serviceNeeded.getAdapter().getItem(RESULT_OK);
extraComments = comments.getText().toString();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}
}
if u want only to choose among email client install on device you can make use of ACTION_SENTTO option
String mailTo="email@gmail.com";
Intent email_intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto",mailTo, null));
email_intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject text here");
email_intent.putExtra(android.content.Intent.EXTRA_TEXT,"Body text here");
startActivity(Intent.createChooser(email_intent, "Send email..."));
try this email intent on real device...emulator might not give you the result..
good luck..
这篇关于电子邮件意图电子邮件选配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!