Aandroid Studio/기능
[android] open intent 함수
코끼리똥11
2024. 6. 11. 18:00
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