세상을 더 좋게

[Android] 기본 메신저 앱으로 문자 보내기 본문

Android

[Android] 기본 메신저 앱으로 문자 보내기

나는SOU 2023. 1. 24. 22:06
val smsUri = Uri.parse("smsto:" + phoneNumber) //phonNumber에는 01012345678과 같은 구성.
val intent = Intent(Intent.ACTION_SENDTO)
intent.setData(smsUri)
intent.putExtra("sms_body", "") //해당 값에 전달하고자 하는 문자메시지 전달
startActivity(intent)

Intent 중 위처럼 ACTION_SENDTO를 이용하면 손쉽게 문자메시지 창으로 이동 및 원하는 메시지를 담을 수 있습니다. 

간혹 문자메시지를 보내는 Intent 중에 ACTION_SEND를 이용할 수도 있는데, 제가 이를 사용하지 않는 것은 해당 Intent는 삼성의 기본 문자메시지 앱에만 반응하기 때문입니다.

갤럭시가 아닌 기종을 사용하는 다른 안드로이드 기기에서는 흔히 Google이 제작한 Messenger 앱(삼성의 문자메시지 앱과 이름 동일)을 사용하게 되는데, 이들도 사용할 수 있는 기능을 구현하려면 위와 같이 ACTION_SENDTO를 이용해야만 합니다. ACTION_SENDTO는 해당 기기의 기본 메신저앱에 반응하도록 되어있고, 따라서 메신저앱이 무엇이던 간에 쓰고자 하는 메신저앱이 기본 메신저앱으로 설정만 되어있다면 사용할 수 있습니다.

해당 기능을 테스트 해보기 위해 삼성의 Messenger앱과 Google의 Messeneger앱을 각각 설치하여 기본 메신저앱을 바꾸면서 기능을 이용해보시는 것도 한 번 해봄직할 것 같습니다.

p.s. MMS로 사진을 함께 첨부하여 보내는 것은 위의 코드만으로는 한계가 있는데, 추후 포스팅에서 해당 내용을 다뤄보도록 하겠습니다.