안드로이드 베터리 용량을 측정해서 일정용량밖에 남지 않았을 때 특정 행동을 하려합니다.

조회수 1533회

안드로이드 베터리 용량을 측정해서 일정용량밖에 남지 않았을 때 특정 행동을 하려합니다. 어플을 실행해서 배터리 용량을 적고 백그라운드 활성화를 하면 입력된 용량에 도달할때까지 아무일도 없다가 해당 용량에 도달하면 어플을 실행하는 등의 특정 행동을 취하게 하려고 합니다. 백그라운드에 대한 개념이 별로 없어서 그런데 피드백좀 주실 수 있으신가요??

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 아래 문서의 배터리 수준의 중요한 변화 모니터링 부분을 읽어보시면 낮은 배터리 상태로 진입할 때 해당 이벤트를 브로드캐스트 리시버로 받을 수 있습니다.

    다만 배터리 용량을 설정할 수 있도록 구현을 하려면 서비스를 이용해 주기적으로 배터리의 잔량을 체크하는 방식으로 만들어보세요. 서비스에 대한 기본적인 내용과 구현 방법은 아래 링크를 참고하시거나 "안드로이드 서비스"로 구글링 하시면 많은 자료를 찾아 볼 수 있습니다.

    현재 배터리의 잔량을 가져오는 부분은 아래 코드를 참고하시기 바랍니다. 아래 코드는 첫번째 링크의 현재 배터리 수준 확인을 참고했습니다.

    IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent batteryStatus = context.registerReceiver(null, ifilter);
    int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
    int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
    
    float batteryPct = level / (float)scale
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)