본문 바로가기
Projects/It's My Waye

[It's My Waye] 14. 진동, 전체화면 알람 기능 추가

by DevJaewoo 2022. 5. 31.
반응형

진동 기능 구현

DB의 알람 반복 횟수, 간격 컬럼을 진동 사용 여부, 전체화면 알람 사용 여부로 변경하고 기능을 구현했다.

진동은 0.5초 간격으로 1초간 울리도록 설정했다.

if(alarm.vibrate) {
    if(Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
        vibrator?.vibrate(longArrayOf(1000, 500), 0)
    }
    else {
        vibrator?.vibrate(
            VibrationEffect.createWaveform(
            longArrayOf(1000, 500),
            intArrayOf(255, 0),
            0))
    }
}

진동과 관련한 더 자세한 내용은 아래의 글에 따로 정리해뒀다.

 

[Android] Vibrator 클래스로 진동 제어하기

Vibrator 클래스로 진동 제어하기 진행중인 프로젝트에서 진동 기능을 사용하게 되어 개발 중 조사한 내용을 정리해봤다. Vibrator 인스턴스 생성 진동을 제어하기 위한 권한 설정 코드이다. vibrator =

devjaewoo.tistory.com


전체화면 알람 기능 구현

직장인의 경우 알람이 뜨자마자 게임에 접속할 수 있는 게 아니기에 지인에게 대신 접속해달라고 부탁할 시간을 벌어줬으면 좋겠다는 요청사항이 있었다.

 

그래서 전체화면 알람이 울렸을 때 전화가 온 것처럼 보이기 위해 삼성 One UI 3.0의 전화 수신 화면 UI를 참고하여 전화가 온 것처럼 UI를 만들었다.

 

발신자 이름에는 아이템 이름을, 전화번호에는 제보 시각과 떠돌이상인이 사라지는 시간을 알 수 있게 했다.

통화버튼 또는 종료 버튼을 누르면 알람이 꺼진다.

전체화면 알람 UI

 

이제 앱 설계 당시 넣고자 했던 필수 기능들은 모두 만들었다.

다음번엔 앱 배포에 관련하여 포스팅 하도록 하겠다.

반응형