Android-이메일 보내기
Email 한 시스템 사용자가 네트워크를 통해 한 명 이상의 수신자에게 전자적 수단으로 배포되는 메시지입니다.
이메일 활동을 시작하기 전에 의도적으로 이메일 기능을 알아야합니다. 의도는 애플리케이션 내부 또는 애플리케이션 외부에서 한 구성 요소에서 다른 구성 요소로 데이터를 전달합니다.
애플리케이션에서 이메일을 보내기 위해 처음부터 이메일 클라이언트를 구현할 필요는 없지만 Android, Gmail, Outlook, K-9 Mail 등에서 제공되는 기본 이메일 앱과 같은 기존 클라이언트를 사용할 수 있습니다.이를 위해 목적을 위해 올바른 작업과 데이터가 포함 된 암시 적 인 텐트를 사용하여 이메일 클라이언트를 시작하는 활동을 작성해야합니다. 이 예제에서는 기존 이메일 클라이언트를 시작하는 Intent 객체를 사용하여 앱에서 이메일을 보내겠습니다.
다음 섹션에서는 이메일을 보내는 데 필요한 Intent 개체의 여러 부분을 설명합니다.
의도 개체-이메일 전송 작업
당신은 사용할 것입니다 ACTION_SENDAndroid 장치에 설치된 이메일 클라이언트를 시작하는 작업입니다. 다음은 ACTION_SEND 작업으로 인 텐트를 만드는 간단한 구문입니다.
Intent emailIntent = new Intent(Intent.ACTION_SEND);
Intent Object-이메일을 보낼 데이터 / 유형
이메일을 보내려면 다음을 지정해야합니다. mailto: setData () 메서드 및 데이터 유형을 사용하는 URI로 text/plain 다음과 같이 setType () 메서드를 사용하여-
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("text/plain");
Intent Object-Extra to send email
Android에는 대상 이메일 클라이언트에 인 텐트를 보내기 전에 인 텐트에 첨부 할 수있는 TO, SUBJECT, CC, TEXT 등의 필드를 추가하는 기본 지원 기능이 있습니다. 이메일에 다음과 같은 추가 필드를 사용할 수 있습니다.
Sr. 아니. | 추가 데이터 및 설명 |
---|---|
1 | EXTRA_BCC 숨은 참조로 복사해야하는 전자 메일 주소가 들어있는 String []입니다. |
2 | EXTRA_CC 참조 할 전자 메일 주소가 들어있는 String []입니다. |
삼 | EXTRA_EMAIL 배달해야하는 전자 메일 주소가 들어있는 String []입니다. |
4 | EXTRA_HTML_TEXT 인 텐트와 연관된 상수 문자열로, ACTION_SEND와 함께 사용되어 EXTRA_TEXT의 대안을 HTML 형식 텍스트로 제공합니다. |
5 | EXTRA_SUBJECT 메시지의 원하는 제목을 포함하는 상수 문자열입니다. |
6 | EXTRA_TEXT 보낼 리터럴 데이터를 제공하기 위해 ACTION_SEND와 함께 사용되는 Intent와 연관된 상수 CharSequence입니다. |
7 | EXTRA_TITLE ACTION_CHOOSER와 함께 사용할 때 사용자에게 제공 할 CharSequence 대화 상자 제목입니다. |
다음은 인 텐트에 추가 데이터를 할당하는 방법을 보여주는 예입니다.
emailIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{"Recipient"});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");
emailIntent.putExtra(Intent.EXTRA_TEXT , "Message Body");
위 코드의 출력은 아래와 같습니다.
이메일 예
예
다음 예제는 Intent 객체를 사용하여 이메일 클라이언트를 시작하여 주어진 수신자에게 이메일을 보내는 실제 방법을 보여줍니다.
이 예제를 이메일로 실험하려면 최신 Android OS가 장착 된 실제 모바일 장치가 필요합니다. 그렇지 않으면 제대로 작동하지 않을 수있는 에뮬레이터로 어려움을 겪을 수 있습니다. 둘째, 기기에 GMail (기본적으로 Gmail 클라이언트 앱이있는 모든 Android 버전) 또는 K9mail과 같은 이메일 클라이언트가 설치되어 있어야합니다.
단계 | 기술 |
---|---|
1 | Android 스튜디오를 사용하여 Android 애플리케이션을 만들고 com.example.tutorialspoint 패키지 아래에 Tutorialspoint 로 이름을 지정합니다 . |
2 | src / MainActivity.java 파일을 수정 하고 이메일 전송을 처리하는 데 필요한 코드를 추가합니다. |
삼 | 레이아웃 XML 파일 res / layout / activity_main.xml 수정 필요한 경우 GUI 구성 요소를 추가하십시오. 이메일 클라이언트를 시작하는 간단한 버튼을 추가하고 있습니다. |
4 | res / values / strings.xml 을 수정 하여 필요한 상수 값을 정의합니다. |
5 | 아래와 같이 AndroidManifest.xml 을 수정 합니다. |
6 | 애플리케이션을 실행하여 Android 에뮬레이터를 시작하고 애플리케이션에서 수행 한 변경 결과를 확인합니다. |
다음은 수정 된 주요 활동 파일의 내용입니다. src/com.example.Tutorialspoint/MainActivity.java.
package com.example.tutorialspoint;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button startBtn = (Button) findViewById(R.id.sendEmail);
startBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
sendEmail();
}
});
}
protected void sendEmail() {
Log.i("Send email", "");
String[] TO = {""};
String[] CC = {""};
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
emailIntent.putExtra(Intent.EXTRA_CC, CC);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");
try {
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
finish();
Log.i("Finished sending email...", "");
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(MainActivity.this, "There is no email client installed.", Toast.LENGTH_SHORT).show();
}
}
}
다음 내용은 res/layout/activity_main.xml 파일-
여기서 abc는 tutorialspoint 로고에 대해 나타냅니다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sending Mail Example"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="30dp" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials point "
android:textColor="#ff87ff09"
android:textSize="30dp"
android:layout_above="@+id/imageButton"
android:layout_alignRight="@+id/imageButton"
android:layout_alignEnd="@+id/imageButton" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:src="@drawable/abc"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/sendEmail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/compose_email"/>
</LinearLayout>
다음 내용은 res/values/strings.xml 두 개의 새로운 상수를 정의하려면-
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Tutorialspoint</string>
<string name="compose_email">Compose Email</string>
</resources>
다음은의 기본 콘텐츠입니다. AndroidManifest.xml −
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.Tutorialspoint" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.tutorialspoint.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
당신의 tutorialspoint신청. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android Studio에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고
이제 사용 Compose Email버튼을 클릭하여 설치된 모든 이메일 클라이언트를 나열합니다. 목록에서 이메일을 보낼 이메일 클라이언트 중 하나를 선택할 수 있습니다. Gmail 클라이언트를 사용하여 아래 표시된대로 제공된 모든 기본 필드를 사용할 수있는 이메일을 보내겠습니다. 여기From: Android 기기에 등록한 기본 이메일 ID가됩니다.
주어진 기본 필드 중 하나를 수정하고 마지막으로 이메일 보내기 버튼을 사용하여 언급 된 수신자에게 이메일을 보낼 수 있습니다.