첨부파일 동봉 이메일링
Intent emailIntent = new Intent(Intent.ACTION_SEND);
// The intent does not have a URI, so declare the "text/plain" MIME type
emailIntent.setType(HTTP.PLAIN_TEXT_TYPE);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {"jon@example.com"}); // recipients
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Email subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message text");
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("content://path/to/email/attachment"));
// You can also attach multiple items by passing an ArrayList of Uris
브라우저를 선택하여 인터넷 웹 서핑
Intent webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
Intent chooser = Intent.createChooser(webIntent, "■ 브라우저 선택 ■");
if (webIntent.resolveActivity(getPackageManager()) != null) {
startActivity(chooser);
} else {
Log.d("Error", "설치된 브라우저가 없습니다.");
}
전화 다이얼링
Uri number = Uri.parse("tel:5551234");
Intent callIntent = new Intent(Intent.ACTION_DIAL, number);
if (callIntent.resolveActivity(getPackageManager()) != null) {
startActivity(callIntent);
} else {
Log.d("Error", "스마트 폰에 다이얼러가 없습니다 ");
}
지도 앱
// Map point based on address
Uri location = Uri.parse("geo:0,0?q=1600+Amphitheatre+Parkway,+Mountain+View,+California");
// Or map point based on latitude/longitude
// Uri location = Uri.parse("geo:37.422219,-122.08364?z=14"); // z param is zoom level
Intent mapIntent = new Intent(Intent.ACTION_VIEW, location);
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
} else {
Log.d("Error", "지도 앱이 없습니다 ");
}
사진 선택 요청하고 되돌려 받기(1) - 요청하기
Intent intent_img = new Intent(Intent.ACTION_PICK);
intent_img.setType("image/*");
intent_img.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent_img.setType(MediaStore.Images.Media.CONTENT_TYPE);
startActivityForResult(Intent.createChooser(intent_img,"다중 선택은 '포토'를 선택하세요."), 1);
// 1 : REQUEST_TAKE_ALBUM
사진 선택 요청하고 되돌려 받기(2) - 되돌려 받기
protected void onActivityResult(int requestCode, int resultCode, Intent returned_intent) {
Log.d(TAG, "( onActivityResult )");
super.onActivityResult(requestCode, resultCode, returned_intent);
if (resultCode != Activity.RESULT_OK) {
Toast.makeText(MainActivity.this, "사진 선택을 취소하였습니다.", Toast.LENGTH_SHORT).show();
Log.i("(onActivityResult)", "requestCode = " + requestCode + " , resultCode = " + resultCode);
return;
}
switch (requestCode) {
case REQUEST_TAKE_ALBUM:
ArrayList imageList = new ArrayList<>();
// 멀티 선택을 지원하지 않는 기기에서는 getClipdata()가 없음 => getData()로 접근해야 함
if (returned_intent.getClipData() == null) {
Log.i(TAG, "1. getData / single choice " + String.valueOf(returned_intent.getData()));
imageList.add(String.valueOf(returned_intent.getData()));
} else {
final ClipData clipData = returned_intent.getClipData();
Log.i(TAG , "2. clipdata " + String.valueOf(clipData.getItemCount()));
if (clipData.getItemCount() < 1){
Toast.makeText(MainActivity.this, " 사진을 선택하세요 ", Toast.LENGTH_SHORT).show();
return;
}
// 멀티 선택에서 하나만 선택했을 경우
else if (clipData.getItemCount() == 1) {
forLoop = false ;
Thread ForThread_multi1 = new Thread () {
@Override
public void run() {
OneUri(clipData.getItemAt(0).getUri());
}};
ForThread_multi1.start() ;
} else if (clipData.getItemCount() > 1 && clipData.getItemCount() < 9999) {
show_Selected_Pictures(clipData);
}
}
default: {
Toast.makeText(MainActivity.this, " 여기는 사진 되돌려 받기만 처리하고 다른 기능은 처리하지 않음 ", Toast.LENGTH_SHORT).show();
break;
}
}
}