본문 바로가기
안드로이드 자바

[Java][Android] SMS 발송 기능 만들기

by teamnova 2021. 3. 14.

안녕하세요 : )

 

오늘은 안드로이드에서 SMS를 발송하는 기능을 만들어 보겠습니다.

(참조: 공기계에서는 해당 기능이 동작하지 않습니다.)

 

- 스틱코드?

stickode.com/mainlogin.html

 

STICKODE

 

stickode.com


 

1. 레이아웃 만들기

SMS 발송 레이아웃

 

▶ SMS를 발송할 핸드폰 번호를 입력받는 인풋창과 SMS를 발송하는 버튼을 만들어 줍니다.

 

▶ 아래는 레이아웃 전체 소스 코드입니다.

 - activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="100dp"
        android:layout_marginTop="100dp"
        android:layout_marginRight="100dp"
        android:text="SMS 발송 기능"
        android:textSize="30dp"
        android:textStyle="bold"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/input_phone_num"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_marginStart="30dp"
        android:layout_marginTop="50dp"
        android:layout_marginEnd="30dp"
        android:ems="10"
        android:hint="핸드폰 번호를  - 없이 입력해주세요."
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/title"
         />


    <Button
        android:id="@+id/send_sms_button"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="인증번호 발송"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="@+id/input_phone_num"
        app:layout_constraintStart_toStartOf="@+id/input_phone_num"
        app:layout_constraintTop_toBottomOf="@+id/input_phone_num" />
        
</androidx.constraintlayout.widget.ConstraintLayout>

 


 

2. SMS 보내기 기능 구현

 

레이아웃과 소스코드 연결

핸드폰 번호를 입력받는 인풋창과 SMS 전송 버튼을 소스코드에 연결 시켜줍니다.

 


 

스틱코드에서 SMS 발송 기능 코드 불러오기

▶ 스틱코드에서 SMS 발송 기능 코드를 불러옵니다.

▶ 코드가 동작하는 파일의 클래스명을 입력해 줍니다.

 

 


 

SMS 발송 권한 체크하는 기능 추가

 

▶ 스틱코드에서 SMS 발송 권한을 체크하는 기능을 불러옵니다.

▶ 상단에 권한 체크를 판별하는 상수를 하나 만들어줍니다.

 


 

SMS 전송 버튼에 클릭 이벤트 설정

 

▶ SMS 발송 버튼에 클릭 이벤트를 설정해 줍니다.

 


 

SMS 발송 버튼 클릭 이벤트에 SMS 발송 기능 추가

 

▶ SMS 발송 버튼 클릭시, SMS 를 발송하는 기능을 추가해줍니다.

 


 

3. 테스트

 

SMS 발송 테스트

 

정상적으로 동작합니다.

다음에는 SMS 기능을 이용하여 핸드폰을 인증하는 기능을 구현 해보겠습니다.