250x250
syk531
하루
syk531
전체 방문자
오늘
어제
  • 분류 전체보기 (166)
    • 개발 (166)
      • java (11)
      • kotlin (7)
      • spring, spring boot (35)
      • Javascript (4)
      • Tyhmeleaf (2)
      • Kafka (17)
      • Docker (8)
      • Kubernetes (3)
      • Elastic Stack (4)
      • react native (3)
      • Web (4)
      • GIS (3)
      • 리눅스 (16)
      • Windows (2)
      • 네트워크 (2)
      • 안드로이드앱 (5)
      • git (2)
      • Tool (15)
      • 프로젝트 (7)
      • 백준알고리즘 (14)
      • DB (2)

인기 글

최근 글

블로그 메뉴

    공지사항

    태그

    • 뉴스앱
    • 오블완
    • 티스토리챌린지

    최근 댓글

    티스토리

    hELLO · Designed By 정상우.
    syk531

    하루

    개발/안드로이드앱

    진동세기가 안 변하는 현상

    2024. 6. 20. 09:37
    728x90
    반응형

    진동세기를 사용자가 변경해서 진동을 발생 시킬 수 있는 앱을 만드는데 진동세기를 변경하는데 실제 느껴지는 진동의 세기는 변하지 않았습니다.

     

    확인해보니 VibrationEffect(API>=26)를 지원하는 모든 장치에 실제로 진폭 제어 하드웨어가 있지는 않아서였습니다.
    장치에 진폭 제어 기능이 있는지 확인하려면 hasAmplitudeControl 함수를 호출해보면 됩니다. 해당 함수의 return값이 true여야 진폭을 제어할 수 있는 하드웨어 입니다. 

    var vibrator: Vibrator? = null
    
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
        // API 레벨 31 이상에서는 VibratorManager를 사용
        val vibratorManager = getSystemService(context, VibratorManager::class.java)
        vibrator = vibratorManager?.defaultVibrator
        Log.i("================", "This device has amplitude control: " + vibrator!!.hasAmplitudeControl())
    } else {
        // API 레벨 30 이하에서는 Vibrator를 사용
        vibrator = getSystemService(context, Vibrator::class.java)
        Log.i("================", "This device has amplitude control: " + vibrator!!.hasAmplitudeControl())
    }

    제가 가지고 있는 안드로이드폰은 false가 응답되었고 진폭을 제어할 수 없는 기기여서 조절이 안되었습니다.

     

    참고자료

    https://developer.android.com/reference/android/os/VibrationEffect

    https://stackoverflow.com/questions/62732723/vibrationeffect-doesnt-change-the-amplitude-of-the-vibes-on-my-galaxy-s8

    https://source.android.com/docs/core/interaction/haptics/haptics-ux-foundation?hl=ko

     

    728x90
    반응형
    저작자표시 (새창열림)

    '개발 > 안드로이드앱' 카테고리의 다른 글

    [Jetpack Compose] java.lang.IllegalArgumentException: Can't put value with type class 에러 해결  (0) 2024.07.06
    [Jetpack Compose] 컴포즈 시 한번만 실행하기(리컴포지션 시 실행 안하기)  (0) 2024.07.06
    진동 마사지 앱 개발 및 출시  (0) 2024.06.28
    구글 플레이 콘솔 앱 등록 실패 수정(잘못된 개인정보처리방침)  (0) 2024.06.25
      '개발/안드로이드앱' 카테고리의 다른 글
      • [Jetpack Compose] java.lang.IllegalArgumentException: Can't put value with type class 에러 해결
      • [Jetpack Compose] 컴포즈 시 한번만 실행하기(리컴포지션 시 실행 안하기)
      • 진동 마사지 앱 개발 및 출시
      • 구글 플레이 콘솔 앱 등록 실패 수정(잘못된 개인정보처리방침)
      syk531
      syk531
      기억을 위해 기록을.

      티스토리툴바