티스토리 뷰
반응형
intent action을 통하여 기본으로 제공되는 앱에 접근을 할 수 있습니다.
https://developer.android.com/guide/components/intents-common?hl=ko
시작하기
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button_search.setOnClickListener {
val uri = Uri.parse("http://google.com")
val intent = Intent(Intent.ACTION_VIEW, uri)
startActivity(intent)
}
button_map.setOnClickListener {
val uri = Uri.parse("geo:35.159520, 126.852678")
val intent = Intent(Intent.ACTION_VIEW, uri)
startActivity(intent)
}
button_dial.setOnClickListener {
val uri = Uri.parse("tel:010-0000-0000")
val intent = Intent(Intent.ACTION_DIAL, uri)
startActivity(intent)
}
}
}
구글에 접속하기, 지도 검색, 전화 입력 등을 구현해보았습니다.
링크에 접속할 때는 ACTION_VIEW와 Uri.parse를 사용한 링크를 intent에 넣어주면 되고,
지도를 검색할 때는 ACTION_VIEW와 Uri.parse를 사용한 경도와 위도 값을 intent에 넣어주면 됩니다.
전화번호를 입력할 때는 ACTION_DIAL를 통해 전화번호를 넘겨주면 됩니다.
동작은 아래와 같습니다.
전화 걸기 예제
action을 사용하여 전화를 걸어보겠습니다.
먼저 AndroidManifest.xml에 아래의 권한을 추가해줍니다.
<uses-permission android:name="android.permission.CALL_PHONE"/>
그리고 권한 허용을 물어보는 코드를 작성합니다.
private val permissionList = arrayOf(
Manifest.permission.CALL_PHONE
)
private fun checkPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
for (permission in permissionList) {
if (checkCallingOrSelfPermission(permission) == PackageManager.PERMISSION_DENIED) {
requestPermissions(permissionList, 0)
}
}
}
}
그리고 아래와 같이 ACTION_CALL를 사용하면 됩니다.
button_call.setOnClickListener {
val uri = Uri.parse("tel:010-0000-0000")
val intent = Intent(Intent.ACTION_CALL, uri)
startActivity(intent)
}
동작은 아래와 같습니다.
반응형
'알려주는 이야기 > 안드로이드' 카테고리의 다른 글
안드로이드 소켓 통신 예제 (0) | 2020.08.22 |
---|---|
안드로이드 IPC (2) | 2020.08.21 |
안드로이드 다른 앱 실행하기 (5) | 2020.08.21 |
안드로이드 Parcelable을 사용하여 데이터 전달하기 (0) | 2020.08.21 |
안드로이드 AsyncTask (0) | 2020.08.20 |
댓글