2013-12-04 4 views
0

Я пытаюсь создать базовое приложение для контактной формы, где люди могут заполнить необходимую информацию и нажать кнопку отправки и отправить информацию на конкретное электронное письмо. Я собрал его, но по какой-то причине он не работает. Файл Java имеет в нем код из аналогичного приложения. В файле Java есть сводный код, поэтому я превратил его в заметки. Не уверен, что это что-то испортило. Вот код, пожалуйста, дайте мне знать, что я могу сделать, чтобы он работал.Отправка формы контакта в android по электронной почте

activity_main.xml:

<RelativeLayout 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" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     tools:context=".MainActivity" > 

     <EditText 
      android:id="@+id/etName" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/textView1" 
      android:layout_below="@+id/textView1" 
      android:ems="10" 
      android:hint="Enter First and Last Name" 
      android:inputType="textPersonName" > 

      <requestFocus /> 
     </EditText> 

     <EditText 
      android:id="@+id/etPhone"  
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/etName" 
      android:layout_marginTop="14dp" 
      android:ems="10" 
      android:hint="Enter Phone #" 
      android:inputType="phone" /> 

     <EditText 
      android:id="@+id/etEmail" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/etPhone" 
      android:layout_marginTop="17dp" 
      android:ems="10" 
      android:hint="Enter E-mail" 
      android:inputType="textEmailAddress" /> 

     <EditText 
      android:id="@+id/etAdd" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"  
      android:layout_below="@+id/etEmail" 
      android:layout_marginTop="18dp" 
      android:ems="10" 
      android:hint="Enter Additional Information Here" 
      android:lines="3" 
      android:inputType="textMultiLine" /> 

     <Button 
      android:id="@+id/send" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_below="@+id/etAdd" 
      android:text="Send" /> 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/etPhone" 
      android:layout_alignParentTop="true" 
      android:gravity="center" 
      android:text="Contact Form" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

    </RelativeLayout> 

Вот файл MainActivity.java:

package com.example.contactform1; 

    import android.app.Activity; 
    import android.app.AlertDialog; 
    import android.content.DialogInterface; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.text.Html; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.AdapterView; 
    import android.widget.AdapterView.OnItemSelectedListener; 
    import android.widget.ArrayAdapter; 
    import android.widget.Button; 
    import android.widget.EditText; 
    import android.widget.Spinner; 
    import android.widget.Toast; 

    public class MainActivity extends Activity implements OnClickListener, OnItemSelectedListener{ 
    /** Called when the activity is first created. */ 

     EditText etname, etphone, etemail, etadd; 

     //Spinner subject; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main);  

     etname = (EditText) findViewById (R.id.etName); 

     etphone = (EditText) findViewById(R.id.etPhone); 
     etemail = (EditText) findViewById(R.id.etEmail);  
     etadd = (EditText)findViewById(R.id.etAdd); 

     //subject=(Spinner)findViewById(R.id.spinner); 
     //String subjects[]=new String[]{"Default","Klacht","Vraag","Opmerking","Applicatie"}; 
     //subject.setOnItemSelectedListener(this); 
     //ArrayAdapter<String> sa = new ArrayAdapter<String>(getApplicationContext(), 
      //android.R.layout.simple_spinner_item, subjects); 
     //sa.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); 
     //subject.setAdapter(sa);;   


     final Button buttonSend= (Button)findViewById(R.id.send);   
     buttonSend.setOnClickListener(this); 
     } 

    public void onClick(View v) 
    { 
      //if(etname.getText().toString().length()==0) 
      //{   
       //etname.setError("Vul uw naam in"); 
      //} 
      //else if(etphone.getText().toString().length()==0) 
      //{   
       //etphone.setError("Vul uw email in"); 
      //} 
      //else if(etemail.getText().toString().length() != 10) 
      //{   
       //etemail.setError("Vul een geldig telefoonnummer in"); 
      //} 
      //else if(etadd.getText().toString().length()==0) 
      //{   
       //etadd.setError("Vul uw bericht in"); 
      //} 
      //else if(subject.getSelectedItemPosition()==0) 
      //{   
       //Toast.makeText(MainActivity.this,"Please select the Subject",Toast.LENGTH_SHORT).show(); 
      //} 
      //else 
      //{ 
       //String body= 
      //"Name : "+etname.getText().toString()+"<br>Mobile :"+etphone.getText().toString()+ 
       //"<br>Email :"+etemail.getText().toString();//+"<br>Bericht :"+etadd.getText().toString(); 

       //Intent email = new Intent(Intent.ACTION_SEND); 
       //email.putExtra(Intent.EXTRA_EMAIL, new String[]{"email here"});   
       //email.putExtra(Intent.EXTRA_SUBJECT, subject.getSelectedItem().toString()); 
       //email.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(body)); 
       //email.setType("message/rfc822"); 
       //startActivityForResult(Intent.createChooser(email, "marketing"),1); 
      }   
    // } 
    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 

     new AlertDialog.Builder(MainActivity.this) 
    .setMessage("Your requested has been Accepted\nThank You") 
    .setCancelable(false) 
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) 
    { 
     dialog.cancel(); 
     } 
    }) 
     .show(); 
    } 

    @Override 
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 

    } 
    } 

LogCat информация:

12-04 18:19:15.574: W/IInputConnectionWrapper(28530): showStatusIcon on inactive InputConnection 
12-04 18:19:21.190: D/AbsListView(28530): Get MotionRecognitionManager 
12-04 18:19:21.220: D/AbsListView(28530): onVisibilityChanged() is called, visibility : 4 
12-04 18:19:21.220: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:21.230: D/AbsListView(28530): onVisibilityChanged() is called, visibility : 0 
12-04 18:19:21.230: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:21.240: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:21.320: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:21.330: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:21.360: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:21.390: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:22.591: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:22.861: W/IInputConnectionWrapper(28530): showStatusIcon on inactive InputConnection 
12-04 18:19:22.982: D/AbsListView(28530): onDetachedFromWindow 
12-04 18:19:22.982: D/AbsListView(28530): unregisterIRListener() is called 
12-04 18:19:37.546: E/ViewRootImpl(28530): sendUserActionEvent() mView == null 
12-04 18:19:40.499: W/IInputConnectionWrapper(28530): showStatusIcon on inactive InputConnection 
12-04 18:19:40.519: E/OpenGLRenderer(28530): SFEffectCache:clear(), mSize = 0 

У меня есть форма, появляющийся сейчас, но информация, вы не отправляете сообщение по электронной почте. Я получаю подсказку на экранную индикацию, какую почтовую службу я должен использовать для выполнения этого приложения. Я просто хочу, чтобы введенная информация была напрямую отправлена ​​на электронную почту, которая предоставляется в приложении.

Заранее благодарен!

+0

Нет LogCat? Sigh ... –

+0

Как я могу показать информацию о logcat? – OliverTwist

+0

В eclipse есть панель для LogCat. Скопируйте свои ошибки. –

ответ

0

Вы видите этот экран со списком почтовых клиентов, потому что так работают Intents.

Умышленное намерение не приведет к непосредственному выполнению действия, которое вы хотите, все, что он может сделать, это передать данные другому действию (возможно, в другом приложении), которое может обрабатывать данные.

+0

Есть ли у вас какие-либо рекомендации относительно того, как я могу получить всю контактную информацию (начиная с другой деятельности), отправленную, по крайней мере, в часть содержимого электронной почты? – OliverTwist

+0

См. Следующее: http://stackoverflow.com/questions/8701634/send-email-intent –

+0

Что я хочу сделать, после нажатия кнопки отправки я хочу, чтобы он был отправлен непосредственно в мой gmail. Вот и все. Никаких дополнительных приложений для выполнения задачи – OliverTwist

Смежные вопросы