본문 바로가기

모바일 프로그래밍(Android Studio)

Intent 활용

package com.example.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) {
                composeEmail(new String[]{"abc@naver.com"},"행운의 편지");
            }
        });
    }

    // 연락처 선택하는 액티비티 띄우기.
    public void selectContact(){
        Intent intent = new Intent(Intent.ACTION_PICK); // 공개되어있는 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);
    }
    // 문자 보낼 수 있는 인텐트
    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);
    }
}