티스토리 뷰
암시적 인텐트(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);
}
}
'학업 > 모바일프로그래밍' 카테고리의 다른 글
[Android Studio] 액티비티 생명주기 (0) | 2024.12.17 |
---|---|
[Android Studio] 지도 검색 앱 (0) | 2024.12.17 |
[Android Studio] 다중 액티비티 초기 설정, 인텐트(Intent) (1) | 2024.12.16 |
[Android Studio] XML inflater 활용: 다중 화면 처리 (1) | 2024.12.15 |
[Android Studio] 기차표 예약 화면 구현 (0) | 2024.12.15 |
공지사항
링크