شما این محصولات را انتخاب کرده اید

سبد خرید

شناسه پست: 455
بازدید: 809

ارسال ایمیل در اندروید :

در این مقاله قصد داریم یک محتوای متنی را با استفاده از Intent.ACTION_SENDبه یک آدرس ایمیل ارسال نماییم،
با استفاده از نرم افزار های ایمیل که موجود است می توانید ایمیل مورد نظر خود را به آدرسی که
وارد می نمایید ارسال کنید، و اگر سیستم اندروید شما نرم افزاری نداشته باشد به شما پیغام نصب نرم افزار را می دهد.
داخل الیه ی activityخود از textview و edittext برای وارد کردن اطالعات استفاده می نمایید:
 

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"
android:padding="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="مقصد"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_gravity="right"/>
<EditText
android:id="@+id/toEmail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
"لطفا ایمیل مقصد را وارد نمایید"=android:hint
android:layout_gravity="right" android:gravity="right"
>
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="موضوع"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_gravity="right"/>
<EditText
android:id="@+id/subject"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
<"لطفا موضوع را وارد نمایید"=android:gravity="right" android:hint
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="پیام"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="right"
android:layout_gravity="right"/>
<EditText
android:id="@+id/emailBody"
android:layout_width="fill_parent"a
ndroid:layout_height="wrap_content"
android:gravity="top|right"
android:inputType="textMultiLine"
android:lines="5" android:layout_gravity="right"
</"لطفا متن پیام را وارد نمایید"=android:hint
/LinearLayout>

 
 
برای فرستادن ایمیل و پاک کردن متن های نوشته شده می خواهیم از یک منو استفاده کنیم، برای همین یک پوشه
به نام منو ایجاد نمایید و داخل آن یک فایل xml ایجاد نمایید و آیتم های منو را داخل آن قرار دهید:

menu xmlns:android="http://schemas.android.com/apk/res/android" ;
<item
android:id="@+id/menu_clear"
android:icon="@android:drawable/ic_menu_close_clear_cancel"
android:showAsAction="ifRoom|withText"
android:title="Clear"/>
<item
android:id="@+id/menu_send"
android:icon="@android:drawable/ic_menu_send"
android:showAsAction="ifRoom|withText"
android:title="Send"/>
/menu>

 
حاال باید کلاس جاوا را برای ان تعریف نمایید به صورت زیر:
 

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
public class MyActivity extends Activity {
private EditText toEmail = null;
private EditText emailSubject = null;
private EditText emailBody = null;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
toEmail = (EditText) findViewById(R.id.toEmail);
emailSubject = (EditText) findViewById(R.id.subject);
emailBody = (EditText) findViewById(R.id.emailBody);
}
/**
صدا زدن منو برای ارسال پیام *
*
*
*/
@Override
 public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_clear:
toEmail.setText("");
emailBody.setText("");
emailSubject.setText("");
break;
case R.id.menu_send:
String to = toEmail.getText().toString();
String subject = emailSubject.getText().toString();
String message = emailBody.getText().toString();
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, 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"));
break;
}
return true;
}
}

 
برای فرستادن ایمیل مورد نظر از دستور switch استفاده شده است، این دستور از دو case استفاده شده است
یک case برای پاک کردن edittext استفاده می شود، و case دوم برای گرفتن اطالعات و ارسال به intent
ارسال ایمیل و با زدن آن ایمیل مورد نظر با استفاده از نرم افزار نصب شده روی سیتم اندروید خود ارسال می شود.
خروجی به صورت زیر است:
 
ارسال ایمیل

پانزده + 12 =