알림 : 소리와 진동

jihyo·2022년 7월 19일
0

Android

목록 보기
16/17
post-thumbnail

소리 알림

  • 알림음 : 사용자에게 짧은 소리로 특정 상황을 알릴 때 사용되는 것

카톡 알림음 같은 경우는 해당 기업이 자체 음원을 사용한 것이고 기본적으로 안드로이드 시스템에 등록된 음원을 사용할 수도 있다.

3가지 알림음을 RintoneManager 를 통해 사용할 수 있다.

  • NOTIFICATION : 알림
  • ALARM : 알람
  • RINGTONE : 벨소리

01 RingtoneManager 사용법

  • RingtoneManager.getDefaultUri() 함수를 통해 소리의 식별값(Uri 객체)을 얻는다.
    • 이 값을 RingtonManager.getRingtone() 함수의 두 번째 매개변수로 전달하면 소리를 재생하는 Ringtone 객체를 얻는다.
  • play() 함수를 통해 소리가 재생된다.

자체 음원 재생하기

자체 음원을 사용하기 위해서는 일단 자체 음원 파일이 있어야 하고 그 파일을 리소스 디렉터리에 넣어야 한다. res 폴더에 raw 라는 디렉터리를 새로 생성해서 사용하면 된다.

예를 들어, 음원파일 ringcall001.mp3 이 있다면, 아래처럼 사용하면 된다.

그런데 음원을 재생하는 클래스는 MediaPlayer 클래스이기 때문에 해당 클래스에 리소스 정보를 지정하고 start() 함수를 호출해 음원을 재생하는 차이가 있다.

02 자체 음원 MediaPlayer

진동 알림

진동은 퍼미션이 필요하다. <manifest> 태그 안 쪽에 작성하면 된다.

03 진동 퍼미션

Vibrator 라는 클래스로 진동 알림을 사용하는데, API 레벨에 따라 이 Vibrator 객체를 얻는 방법이 다르다.

  • API 31 (Android 12) 이전 : VIBRATOR_SERVICE 로 식별되는 시스템 서비스 이용
  • API 31 (Android 12) 이후 : VIBRATOR_MANAGER_SERVICE 로 식별되는 VibratorManager 라는 시스템 서비스를 얻고 이 서비스에서 Vibrator 를 이용

04 VibratorManager 사용법

else 구문에서 VIBRATOR_SERVICE 에 취소선이 그어져 있는데 그 이유는 deprecated 됐기 때문이다. deprecated 되면 사용 가능이 보장되지 않으니 가급적 피하는 것이 좋다.

05 VIBRATOR_SERVICE deprecated

0개의 댓글