티스토리 뷰

암시적 인텐트(Implicit Intent)

수행할 작업의 종류를 지정하지만, 이 작업을 처리할 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버 등)는 시스템이 결정하도록 하는 인텐트


매니페스트 파일 설정

AndroidManifest.xml

  • 액티비티에서 인터넷 접근 허용을 위해 아래 태그 추가
<uses-permission android:name="android.permission.INTERNET" />

액티비티에서 다른 앱의 작업 불러오기

MainActivity.java

  • Intent intent = new Intent(Intent.ACTION_DIAL): 전화 작업을 처리하는 인텐트
  • Intent intent = new Intent(Intent.ACTION_VIEW): 화면에 표시하는 인텐트
  • intent.setData(Uri.parse( )): 작업을 지정하기 위해 인텐트 특정 Uri 데이터 설정
package com.example.test;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Gravity;
import android.widget.Button;
import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout l = new LinearLayout(this);
        l.setOrientation(LinearLayout.VERTICAL);
        l.setPadding(100,100,100,100);
        l.setGravity(Gravity.CENTER);

        Button b1 = new Button(this);
        b1.setText("전화 걸기"); b1.setTextSize(20);
        l.addView(b1);
        b1.setOnClickListener(v -> {
            Intent i1 = new Intent(Intent.ACTION_DIAL);
            i1.setData(Uri.parse("tel:01012345678"));
            startActivity(i1);
        });

        Button b2 = new Button(this);
        b2.setText("연락처 목록 화면 표시"); b2.setTextSize(20);
        l.addView(b2);
        b2.setOnClickListener(v -> {
            Intent i2 = new Intent(Intent.ACTION_VIEW);
            i2.setData(Uri.parse("content://contacts/people"));
            startActivity(i2);
        });

        Button b3 = new Button(this);
        b3.setText("웹브라우저 표시"); b3.setTextSize(20);
        l.addView(b3);
        b3.setOnClickListener(v->{
            Intent i3 = new Intent(Intent.ACTION_VIEW);
            i3.setData(Uri.parse("https://www.google.com"));
            startActivity(i3);
        });

        Button b4 = new Button(this);
        b4.setText("지도 표시"); b4.setTextSize(20);
        l.addView(b4);
        b4.setOnClickListener(v->{
            Intent i4 = new Intent(Intent.ACTION_VIEW);
            i4.setData(Uri.parse("geo:0,0?q=부산시청 근처 주차장"));
            startActivity(i4);
        });

        setContentView(l);
    }
}

실행 화

공지사항
링크