본문 바로가기
Aandroid Studio/기능

[android] open intent 함수

by 코끼리똥11 2024. 6. 11.
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