Android/유용한 기술
[Android/안드로이드] 알람울리기/진동울리기/알림 Notification
라크라꾸
2020. 9. 13. 01:34
앱을 구현할 때는 스마트폰 화면을 보고있지 않을 경우에 진동이나 소리를 통해 앱에 대한 알림을 확인할 수 있도록 구현해주는 경우가 많습니다.
진동울리기
우선 진동을 울리기 위해서는 퍼미션이 설정되어 있어야 합니다.
Manifest.xml
<uses-permission android:name = "android.permission.VIBRATE"/>
Vibrator vibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);
vibrator.vibrate(500); // 0.5초간 진동
Vibrator 객체를 생성하여 vibrate함수를 호출하게 되면 두줄만으로 진동을 울리게 할 수 있습니다.
Vibrator vibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);
vibrator.vibrate(new long[]{500,1000,500,1000},-1);
진동을 계속 울리게 하려면 매개변수부분을 바꿔주면 됩니다. 첫번째 매개변수가 long형 배열타입이고, 배열의 값은 홀수번째 값은 대기시간, 짝수번째값은 진동시간입니다. 두번째 매개변수는 몇 번 반복할 것인가의 설정입니다. 설정을 0으로 주면 코드에서 취소할때까지 무한반복이 되고, -1로 주게되면 한번만 울리게됩니다.
소리 울리기
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone rt = RingtoneManager.getRingtone(getApplicationContext(),notification);
rt.play();
안드로이드 시스템에는 여러가지 효과음이 등록되어 있습니다.
MediaPlayer player = MediaPlayer.create(context, R.raw.calling);
player.start();
임의의 효과음을 넣고 싶을 다음과 같은 코드를 통해 구현할 수 있습니다.