1. Activity Action
- 안드로이드에서 제공되는 기본 애플리케이션 중 다른 애플리케이션이 사용할 수 있도록 Activity가 제공되는 것들이 있다.
- 이들은 모두 공개되어 있는 이름이 제공되며 이를 이용해 실행할 수 있다.
- Intent의 액션을 설정해 사용할 수 있으며, 뒤에 전달해주는 uri에 따라 실행시키는것이 다르다.
var intent = Intent(Intent.ACTION_VIEW, uri)
var intent = Intent(Intent.ACTION_DIAL, uri)
var intent = Intent(Intent.ACTION_CALL, uri)startActivity(intent)
2. 지도 띄우기
- ACTION_VIEW을 이용해 위도를 전달해 지도를 띄울 수 있다.
// 1. 지도 띄우기
button.setOnClickListener { view ->
// 1.지도를 띄우기 위해 위도 세팅
var uri = Uri.parse("geo:37.243243,13861601")
// 2. 액션뷰
// 뭔가를 보여주는 목적으로 쓰임.
// 뒤에 들어가는것이 무엇인가(Ex. 위도=지도, url=홈페이지 등)에 따라 뜨는게 다름.
var intent = Intent(Intent.ACTION_VIEW, uri)
startActivity(intent)
}
3. 홈페이지 띄우기
- ACTION_VIEW을 이용해 URL을 전달해 지도를 띄울 수 있다.
// 2. 홈페이지 띄우기
button2.setOnClickListener { view ->
var uri = Uri.parse("http://www.naver.com")
var intent = Intent(Intent.ACTION_VIEW, uri)
startActivity(intent)
}
4. 번호 다이얼 띄우기
- ACTION_DIAL을 이용해 번호가 써진 다이얼 화면을 띄울 수 있다.
// 3. 번호 다이얼 띄우기
button3.setOnClickListener { view ->
var uri = Uri.parse("tel:01020562708")
var intent = Intent(Intent.ACTION_DIAL, uri)
startActivity(intent)
}
5. 자동으로 전화걸기
- 전화거는건 돈이 나가기 때문에 권한 요청이 필요하다.
* 권한요청하기
1) AndroidMenifest.xml에 <use-permission> 태그를 설정한다.
<uses-permission android:name="android.permission.CALL_PHONE"/>
2) 요청해야할 권한에 대한 배열을 선언한다.
var permission_list = arrayOf(Manifest.permission.CALL_PHONE)
3) 권한 요청 함수를 만든다.
// 4. 전화걸기를 위한 권한 요청
fun checkPermission()
{
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
{
return
}
for (permission : String in permission_list)
{
var chk = checkCallingOrSelfPermission(permission)
if(chk == PackageManager.PERMISSION_DENIED)
{
requestPermissions(permission_list, 0)
}
}
}
4) 앱띄울 때 권한요청 메세지를 띄우고 버튼을 누르면 ACTION_CALL로 전화가 바로 걸리게 설정한다.
button4.setOnClickListener { view ->
var uri = Uri.parse("tel:01020562708")
var intent = Intent(Intent.ACTION_CALL, uri)
startActivity(intent)
}
'Deperecated > Android_강의' 카테고리의 다른 글
안드로이드 - 시스템 메세지 (0) | 2020.02.19 |
---|---|
안드로이드 - BroadCastReceiver (0) | 2020.02.19 |
안드로이드 - 다른 애플리케이션의 액티비티 실행하기 (0) | 2020.02.18 |
안드로이드 - 객체 전달하기 (0) | 2020.02.18 |
안드로이드 - 데이터 전달하기 (0) | 2020.02.18 |