๊ด€๋ฆฌ ๋ฉ”๋‰ด

ruriruriya

[Android] ์•ˆ๋“œ๋กœ์ด๋“œ - Intent์˜ ํ•จ์ˆ˜๋“ค ๋ณธ๋ฌธ

๐Ÿค–Android/Java

[Android] ์•ˆ๋“œ๋กœ์ด๋“œ - Intent์˜ ํ•จ์ˆ˜๋“ค

๋ฃจ๋ฆฌ์•ผใ…‘ 2024. 1. 3. 14:25
๋ฐ˜์‘ํ˜•

๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด Intent์˜ ํ•จ์ˆ˜๋“ค์ด ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ 
Intent์˜ ํ•จ์ˆ˜๋“ค์„ ์•Œ์•„๋ณด์ž.

 

1. ํ™”๋ฉด์„ค๊ณ„

xml  ์—์„œ ๊ฐ„๋‹จํ•œ ๋ฒ„ํŠผ 1๊ฐœ๋ฅผ ๋งŒ๋“ ๋‹ค.

 

2. java ํŒŒ์ผ ์ž‘์„ฑ.

๋ฒ„ํŠผ ํ•˜๋‚˜๋ฅผ ํ™”๋ฉด๊ณผ ์—ฐ๊ฒฐ์‹œํ‚ค๊ณ .

๋ฒ„ํŠผ์— setOnClickListener ํ•จ์ˆ˜๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•œ๋‹ค.

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) {
            // ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋Š” ๊ณณ.
            }

        });

    }



}

 

3. ๋ฉ”์ธ ํด๋ž˜์Šค์—์„œ ํ•จ์ˆ˜ ์ƒ์„ฑ

Intent๋Š” ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

3.1. ์—ฐ๋ฝ์ฒ˜ ์„ ํƒํ•˜๋Š” ์•กํ‹ฐ๋น„ํ‹ฐ ๋„์šฐ๋Š” ํ•จ์ˆ˜.

// ์—ฐ๋ฝ์ฒ˜ ์„ ํƒํ•˜๋Š” ์•กํ‹ฐ๋น„ํ‹ฐ ๋„์šฐ๋Š” ํ•จ์ˆ˜.

void selectContact(){
        Intent intent = new Intent(Intent.ACTION_PICK);
        intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
        startActivity(intent);
    }

 

3.2. ์›น ๋ธŒ๋ผ์šฐ์ € ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜.

// ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ํ•จ์ˆ˜.

void openWebPage(String url){
    Uri uri = Uri.parse(url);
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(intent);
}

 

3.3. SMS๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ํ™”๋ฉด ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜.

// SMS๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ํ™”๋ฉด ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜.
void composeSMS(String phone){
    Uri uri = Uri.parse("smsto: "+phone);
    Intent intent = new Intent(Intent.ACTION_VIEW,uri);
    startActivity(intent);
}

 

3.4. Email ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜.

// Email ๋ณด๋‚ด๊ธฐ ์œ„ํ•จ ํ™”๋ฉด ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜
// ์—ฌ๋Ÿฌ ์‚ฌ๋žŒํ•œํ…Œ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ธฐ์— ๋ฐฐ์—ด ์‚ฌ์šฉ, ์ œ๋ชฉ๋„ ์‚ฌ์šฉ
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);
}

 

3.5. ํ…์ŠคํŠธ ๊ณต์œ ํ•˜๋Š” ํ•จ์ˆ˜.

// ํ…์ŠคํŠธ๋ฅผ ๊ณต์œ ํ•˜๋Š” ํ•จ์ˆ˜. ๊ณต์œ  ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ

void shareText(String sentence){
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_TEXT,sentence);
    intent.setType("text/plain");

    Intent shareIntent = Intent.createChooser(intent,"์„ ํƒํ•˜์„ธ์š”.");
    //
    startActivity(shareIntent);
}

 

4. SetonClickListener ์—์„œ ํ•จ์ˆ˜ ํ˜ธ์ถœ

ํ•จ์ˆ˜์™€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            
                shareText("์•ˆ๋…•");
                
            }

        });
๋ฐ˜์‘ํ˜•