2016-03-14 116 views
-1

我有一個問題,當用戶點擊它時,我需要「發送」按鈕將電子郵件發送到我的按鈕。我只是想在哪裏,當用戶點擊發送按鈕,然後按鈕將已經知道我的電子郵件地址,並自動發送到那裏的電子郵件。如何讓按鈕打開

到目前爲止,我有這在我的EmailActivity.java

import android.app.Activity; 
import android.content.ActivityNotFoundException; 
import android.content.ComponentName; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 


public class EmailActivity extends Activity { 

Button buttonSend; 
EditText textTo; 
EditText textSubject; 
EditText textMessage; 

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

buttonSend = (Button) findViewById(R.id.buttonSend); 
textTo = (EditText) findViewById(R.id.editTextTo); 
textSubject = (EditText) findViewById(R.id.editTextSubject); 
textMessage = (EditText) findViewById(R.id.editTextMessage); 

buttonSend.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     String to = textTo.getText().toString(); 
     String subject = textSubject.getText().toString(); 
     String message = textMessage.getText().toString(); 

     Intent email = new Intent(Intent.ACTION_SEND); 
     email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to}); 
     //email.putExtra(Intent.EXTRA_CC, new String[]{ to}); 
     //email.putExtra(Intent.EXTRA_BCC, new String[]{to}); 
     email.putExtra(Intent.EXTRA_SUBJECT, subject); 
     email.putExtra(Intent.EXTRA_TEXT, message); 

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

     startActivity(Intent.createChooser(email, "Choose an Email client :")); 

    } 
}); 
} 

email_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/linearLayout1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<TextView 
android:id="@+id/textViewPhoneNo" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="To : " 
android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
android:id="@+id/editTextTo" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:inputType="textEmailAddress" > 

<requestFocus /> 

</EditText> 

<TextView 
android:id="@+id/textViewSubject" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Subject : " 
android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
android:id="@+id/editTextSubject" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
> 
</EditText> 

<TextView 
android:id="@+id/textViewMessage" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Message : " 
android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
android:id="@+id/editTextMessage" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:gravity="top" 
android:inputType="textMultiLine" 
android:lines="5" /> 

<Button 
android:id="@+id/buttonSend" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="Send" /> 

+0

用戶點擊您的按鈕後,不會自動發送郵件,而是用戶將看到一個選擇器電子郵件對話框 - >用戶選擇一個電子郵件發件人,然後單擊發送按鈕發送郵件活動。 – GiapLee

+0

你確定你的3個字符串有合適的值嗎?你有沒有試過記錄,並且你有任何錯誤? –

+0

我沒有錯誤,我需要的是讓我的'發送'按鈕已經註冊了我的電子郵件。所以當用戶點擊發送時,它會自動發送到我的電子郵件 – Pablo

回答

0
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
      "mailto","[email protected]", null)); 
intent.putExtra(Intent.EXTRA_SUBJECT, subject); 
intent.putExtra(Intent.EXTRA_TEXT, message); 
startActivity(Intent.createChooser(intent, "Choose an Email client :")); 

使用THI。根據您的需要更改值

+0

我試過這個,但我不知道在哪裏把它放在我的代碼中,因爲當我嘗試它仍然dosn't工作。在代碼中我會把這個放在哪裏? – Pablo

+0

把它放在button.onClickListener方法中 –

+0

這個dosn't工作由於某種原因 – Pablo