지난 포스팅엔 Intent를 사용하여 다른 액티비티에 데이터를 전달하는 방법을 정리하였습니다.
https://no1msh1217.tistory.com/14
[Kotlin/코틀린] Android Intent 사용법2 / 다른 액티비티에 데이터 전달하기
지난 포스팅엔 Intent를 사용하여 화면 전환과 더불어 액티비티 스택 관리에 대해서 정리하였습니다. https://no1msh1217.tistory.com/13 [Kotlin/코틀린] Android Intent 사용법1 / 다른 액티비티로 이동하기 한..
no1msh1217.tistory.com
이번에는 암시적 Intent를 사용하여 다른 안드로이드 기본앱으로 이동하거나 데이터를 전달하는 방법에 대해서 정리해보겠습니다.
A Activity -> 전화 앱으로 이동 및 데이터 전달하기
- 전화 앱으로 이동함과 동시에 번호까지 미리 입력받아 가져가기
1. 기본사용법
버튼.setOnClickListener {
val 폰번호 = 폰번호입력하는에딧텍스트.text.toString()
val 유알아이이름 = Uri.parse("tel:${폰번호}")
val 인텐트이름 = Intent(Intent.ACTION_DIAL , 유알아이이름)
startActivity(인텐트이름)
}
2. 사용해보기
- EditText에 번호를 입력 받고 우리가 현재 설정되어 있는 기본 통화 앱( 이건 안드로이드 스마트폰 유저가 설정해 놓은 전화 앱으로 갑니다. ex) T전화, 삼성기본앱전화 등등)으로 이동함과 동시에 번호도 같이 가져갑니다.
btnDial.setOnClickListener {
val inputStr = edtPhoneNum.text.toString()
val myUri = Uri.parse("tel:${inputStr}")
val dialIntent = Intent(Intent.ACTION_DIAL , myUri)
startActivity(dialIntent)
}
3. 실제 화면
A Activity -> 문자 앱으로 이동 및 데이터 전달하기
- 문자 앱으로 이동함과 동시에 전송할 번호와 내용까지 미리 입력받아 가져가기
1. 기본사용법
버튼.setOnClickListener {
val 폰번호를받을변수 = 폰번호입력받는에딧텍스트.text.toString()
val 유알아이이름 = Uri.parse("smsto:${폰번호를받을변수}")
val 인텐트이름 = Intent(Intent.ACTION_SENDTO , 유알아이이름)
인텐트이름.putExtra("sms_body" , "전달할문자내용")
startActivity(인텐트이름)
}
2. 사용해보기
- EditText에 번호를 입력 받고 우리가 현재 설정되어 있는 기본 문자 앱으로 이동함과 동시에 번호와 문자 내용도 같이 가져갑니다.
btnSendTo.setOnClickListener {
val inputStr = edtPhoneNum.text.toString()
val myUri = Uri.parse("smsto:${inputStr}")
val sendToIntent = Intent(Intent.ACTION_SENDTO , myUri)
sendToIntent.putExtra("sms_body" , "안녕하세요.")
startActivity(sendToIntent)
}
3. 실제 화면
A Activity -> 인터넷 앱으로 이동 및 데이터 전달하기
- 인터넷 앱으로 이동함과 동시에 어디 url로 접속 할껀지 미리 입력받아 가져가기
1. 기본사용법
버튼.setOnClickListener {
val 유알아이이름 = Uri.parse("들어가고싶은주소")
val 인텐트이름 = Intent(Intent.ACTION_VIEW , 유알아이이름)
startActivity(인텐트이름)
}
2. 사용해보기
- 버튼이 눌리면 기본 설정된 인터넷 앱으로 네이버 모바일 웹으로 접속합니다.
btnView.setOnClickListener {
val myUri = Uri.parse("http://m.naver.com")
val viewIntent = Intent(Intent.ACTION_VIEW , myUri)
startActivity(viewIntent)
}
3. 실제 화면
A Activity -> 플레이스토어 앱으로 이동 및 데이터 전달하기
- 플레이스토어 앱으로 이동함과 동시에 어떤앱으로 이동할건지 미리 입력받아 가져가기
1. 기본사용법
버튼.setOnClickListener {
val 유알아이이름 = Uri.parse("마켓주소")
val 인텐트이름 = Intent(Intent.ACTION_VIEW , 유알아이이름)
startActivity(인텐트이름)
}
1-1. 원하는 앱 마켓주소 구하기
- 구글에 마켓주소를 얻길 원하는 앱을 검색합니다.
- 플레이스토어 링크로 들어가줍니다.
주소창에 잘보시면 play.google.com/store/apps/details?id=com.kakao.talk&hl=ko&gl=US
details?id=com.kakao.talk 이 부분이 우리가 필요한 부분이 됩니다.
Uri.parse("market://details?id=com.kakao.talk") 이렇게 기입해주시면 됩니다.
2. 사용해보기
- 버튼을 누르면 플레이스토어 앱으로 미리 설정해둔 앱링크로 들어가줍니다.
- 주로 앱 업데이트를 요청 할 때 사용됩니다.
btnViewPlayStore.setOnClickListener {
val myUri = Uri.parse("market://details?id=com.kakao.talk")
val myIntent = Intent(Intent.ACTION_VIEW , myUri)
startActivity(myIntent)
}
3. 실제 화면
세줄 요약
1. 암시적 인텐트로 전화 , 문자 , 인터넷 , 플레이스토어 등 여러가지 사용자가 기본설정한 앱으로 이동 할 수 있다.
2. Intent.ACTION_??? 아주 다양한 액티비티 액션이 많기 때문에 필요한거는 때마다 검색하여 사용하면 된다.
- 참고 : https://developer.android.com/reference/android/content/Intent#constants_1
Intent | Android Developers
android.net.wifi.hotspot2.omadm
developer.android.com
3. 외워서 사용하는거 보단 이런 기능을 활용 할 수 있단 사실을 기억하고 필요할 때 찾아서 다시 사용하자.
'Kotlin' 카테고리의 다른 글
[Kotlin/코틀린] Android ArrayAdapter getView 안의 ConvertView 가 뭘까? (0) | 2022.03.15 |
---|---|
[Kotlin/코틀린] Android Intent 사용법2 / 다른 액티비티에 데이터 전달하기 (0) | 2022.03.01 |
[Kotlin/코틀린] Android Intent 사용법1 / 다른 액티비티로 이동하기 (0) | 2022.02.28 |
댓글