package com.example.intent;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.widget.Button;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
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 v) {
// selectContact();
//openWebPage("https://naver.com");
// composeSNS("01011111111");
// composeEmail(new String[]{"abc@naver.com","qqq@naver.com"},"ㅎㅇ");
shareText("ㅎㅇ");
}
});
}
// 연락처 선택하는 액티비티 띄우기!
void selectContact(){
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
startActivity(intent);
}
// 웹브라우저 엑티비티를 실행시키는 함수
void openWebPage(String url){
Uri uri = Uri.parse(url); // 변수명을 소문자로 수정
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
// sns 작성하는 엑티비티
void composeSNS(String phone){
Uri uri = Uri.parse("smsto: "+ phone);
Intent intent=new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);;
}
// 이메일 작성하는 엑티비티를 실행시키는 함수
void composeEmail(String[] adress,String subject){
Uri uri = Uri.parse("mailto:");
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(uri);
intent.putExtra(Intent.EXTRA_EMAIL,adress);
intent.putExtra(Intent.EXTRA_SUBJECT,subject);
startActivity(intent);
}
// 공유버튼 눌러서, 문자열을 공유할 수 있도록 하는 함수
void shareText(String text){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT,text);
intent.setType("text/plain");
Intent shareIntent = Intent.createChooser(intent, "선택하세요.");
startActivity(shareIntent);
}
}
https://developer.android.com/training/sharing/send?hl=ko#send-text-content
다른 앱으로 간단한 데이터 전송 | Android Developers
인텐트를 구성할 때 인텐트가 '트리거'할 작업을 지정해야 합니다. Android는 짐작할 수 있듯이 인텐트가 하나의 활동에서 데이터를 전송하고 있음을 나타내는 ACTION_SEND를 비롯한 여러 작업을 정
developer.android.com
'Aandroid Studio > 기능' 카테고리의 다른 글
[android] 페이징 api데이터 스크롤 내려서 추가로 출력하기 (0) | 2024.06.12 |
---|---|
[android] actionbar menu ,뒤로가기 버튼 생성 (0) | 2024.06.11 |
[android]AlertDialog 예, 아니오 선택창 (0) | 2024.06.10 |
[android] RecyclerView와 Adapter를 이용하여 리스트를 화면에 표시하는 방법 (1) | 2024.06.10 |
[android] SharedPreferences 를 이용한, 데이터 저장과 불러오기 (0) | 2024.06.07 |