휴대폰에 깔려있는 공유인텐트를 사용할수있다.
Intent intent = new Intent(Intent.ACTION_PICK);
이런식으로 치면 PICK 으로 되어있는 액티비티들이 리스트로 뜬다
사용자는 선택할수있다.
MainActivity 공유 인텐트 사용 예시들
package com.leopard4.intentapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectContact();
// openWebPage("http://www.naver.com");
// composeSMS("111-1111-1111");
// composeEmail(new String[]{"abc@naver.com", "abc@gmail.com"}, "테스트 이메일 입니다.");
// shareText("공유할 텍스트");
// shareImage(Uri.parse("https://block-yh-test2.s3.ap-northeast-2.amazonaws.com/2023-01-12T15_46_28.062874.jpg"));
}
});
}
// 연락처 선택하는 액티비티 띄위기
void selectContact(){
Intent intent = new Intent(Intent.ACTION_PICK); // 액션이 PICK으로 되어있고
intent.setType(ContactsContract.Contacts.CONTENT_TYPE); // 인텐트타입이 연락처 타입
startActivities(new Intent[]{intent}); // 액티비티를 띄우는데, 인텐트를 배열로 넣어준다.
}
// 웹브라우저 실행시키는 인텐트
void openWebPage(String url){
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri); // 액션이 VIEW로 되어있고 인텐트타입이 uri
startActivity(intent);
}
// SMS 보내기위한 화면
void composeSMS(String phone){
Uri uri = Uri.parse("smsto:" + phone);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
// 이메일 작성하는 액티비티 띄우기
void composeEmail(String[] address, String subject){
Uri uri = Uri.parse("mailto:");
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(uri);
intent.putExtra(Intent.EXTRA_EMAIL, address);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
startActivity(intent);
}
// 문자열 공유 인텐트
void shareText(String text){
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, text);
startActivity(intent);
}
// 이미지 공유 인텐트
void shareImage(Uri imageUri) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, imageUri);
startActivity(intent);
}
}
'Android' 카테고리의 다른 글
Android [유튜브API동영상리스트불러오는앱] 페이징처리, url파싱, 카드뷰 선택시 웹브라우저 실행 (0) | 2023.02.08 |
---|---|
Android 유튜브 API 썸네일 이미지를 안드로이드에서 열어보기 (0) | 2023.02.07 |
Android [프로필 리사이클앱] 이미지 레이아웃 배치 / 선택한 이미지 크게보기 (0) | 2023.02.07 |
Android 이미지 처리를 위한 Glide 라이브러리 사용법 (0) | 2023.02.07 |
Android [포스팅앱] 중복코드 함수화 / 액티비티별 액션바의 구성 / 양방향 객체 전달 / {}안의 [] JSON Volley로 GET해서 인덱싱 / 프로그래스바 보이기,숨기기 (0) | 2023.02.07 |