Intent로 SMS, MMS, Mail 보내기
java)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | package ghj.com.messageintent; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { EditText editBody; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editBody = (EditText)findViewById(R.id.editBody); Button btnSms = (Button)findViewById(R.id.btnSms); btnSms.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { sendSmsIntent("010-1234-1234"); } }); Button btnMms = (Button)findViewById(R.id.btnMms); btnMms.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getImage(); } }); Button btnEmail = (Button)findViewById(R.id.btnEmail); btnEmail.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendEmail("ghj@naver.com"); } }); } public void sendSmsIntent(String number){ try{ Uri smsUri = Uri.parse("sms:"+number); Intent sendIntent = new Intent(Intent.ACTION_SENDTO, smsUri); sendIntent.putExtra("sms_body", editBody.getText().toString()); startActivity(sendIntent); // Intent sendIntent = new Intent(Intent.ACTION_VIEW); // sendIntent.putExtra("address", number); // sendIntent.putExtra("sms_body", editBody.getText().toString()); // sendIntent.setType("vnd.android-dir/mms-sms"); // startActivity(sendIntent); }catch (Exception e){ e.printStackTrace(); } } public void sendMmsIntent(String number, Uri imgUri){ try{ Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.putExtra("address", number); sendIntent.putExtra("subject", "MMS Test"); sendIntent.putExtra("sms_body", editBody.getText().toString()); sendIntent.setType("image/*"); sendIntent.putExtra(Intent.EXTRA_STREAM, imgUri); startActivity(Intent.createChooser(sendIntent, getResources().getString(R.string.app_name))); }catch (Exception e){ e.printStackTrace(); } } public void getImage(){ try{ Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("image/*"); startActivityForResult(Intent.createChooser(intent, "Image Choose"), 1); }catch (Exception e){ e.printStackTrace(); } } public void sendEmail(String email){ try{ Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{email}); emailIntent.putExtra(Intent.EXTRA_CC, new String[]{email}); emailIntent.putExtra(Intent.EXTRA_BCC, new String[]{email}); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Email Test"); emailIntent.putExtra(Intent.EXTRA_TEXT, editBody.getText().toString()); emailIntent.setType("message/rfc822"); startActivity(Intent.createChooser(emailIntent, "Email Choose")); }catch (Exception e){ e.printStackTrace(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == 1){ if(resultCode==RESULT_OK){ Uri imgUri = data.getData(); sendMmsIntent("010-1234-1234", imgUri); } } } } | cs |
xml)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="ghj.com.messageintent.MainActivity"> <EditText android:id="@+id/editBody" android:layout_width="match_parent" android:layout_height="50dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/btnSms" android:text="SMS 인텐트" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/btnMms" android:text="MMS 인텐트" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/btnEmail" android:text="Email" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout> | cs |
결과
'IT > - 프로그래밍' 카테고리의 다른 글
안드로이드 SMS 수신하기 (브로드캐스트 사용) (0) | 2017.07.29 |
---|---|
안드로이드 Api로 SMS 보내기 (1) | 2017.07.28 |
HTML5/CSS3 svg 의 텍스트에 링크걸기 (0) | 2017.07.26 |
HTML5/CSS3 svg 의 path 따라서 텍스트 나타내기 (0) | 2017.07.25 |
HTML5/CSS3 svg의 defs 요소 : 참조를 위한 컨테이너 (0) | 2017.07.24 |