투케이2K

225. (AndroidStudio/android/java) firebase 파이어베이스 푸시 알림 백그라운드 Vibrator 진동 not working 해결 본문

Android

225. (AndroidStudio/android/java) firebase 파이어베이스 푸시 알림 백그라운드 Vibrator 진동 not working 해결

투케이2K 2021. 11. 27. 20:17

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : java

 

[소스 코드]

    // TODO [모바일 진동 발생 메소드]
    // [필요 퍼미션 : <uses-permission android:name="android.permission.VIBRATE"/>]
    Handler mHandler = new Handler(Looper.getMainLooper());
    public void PushCallVibrator(){
        try {
            /**
             * [메시지를 수신받으면 진동 실행]
             * 1. 진동 권한을 획득해야한다. AndroidManifest.xml
             * 2. Vibrator 객체를 얻어서 진동시킨다
             */

            Vibrator mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
            long[] pattern = {100, 1000, 100, 1000};
            if (mVibrator != null) {
                AudioAttributes audioAttributes = new AudioAttributes.Builder()
                        .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                        .setUsage(AudioAttributes.USAGE_ALARM) //key
                        .build();
                mVibrator.vibrate(pattern, 0, audioAttributes);
                mHandler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        mVibrator.cancel(); // 진동 취소 실시
                    }
                }, 1000); //1초뒤 실행 (작업 예약)
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
 

 

반응형
Comments