나는 배터리 수준 모니터링을위한 수많은 출처를 찾았지만 어느 누구도 고정 된 시간 간격으로이를 확인하는 방법을 설명하지 않았습니다. n 초마다 배터리를 확인하려고한다고 가정합니다. 가장 효율적인 방법은 무엇입니까?n 초마다 Android 배터리 측정 항목 검색 [효율적으로]
현재 BroadcastReceiver를 만들고 필터를 사용하여 서비스에 등록합니다. 그런 다음 ScheduledExecutor를 사용하여 배터리의 정보를 가져옵니다. 무슨 일이 벌어지고 있는지 잘 이해한다면, BroadcastReceiver는 일정 시간 안에 확인하고 싶지 않고 오히려 역동적 인 속도로 모든 방송을 수신합니다.
BroadcastReceiver를 만들면 현재 정보가있는 "초기"메시지가 수신되는 것으로 나타납니다. 수시로 리시버 객체를 생성하고,이 초기 메시지를받은 다음, 그것을 체크하고 싶을 때마다 파기하는 것이 더 효율적일까요? 아니면 내가 생각하지 못한 다른 방식이 있습니까? 아무도 관심이 있다면이 경우, 배터리를 모니터링하는 데
출처 :
- http://developer.android.com/training/monitoring-device-state/battery-monitoring.html
- http://developer.android.com/reference/android/os/BatteryManager.html
- Android Battery in SDK
ACTION_BATTERY_CHANGED 방송을 청취하는 전체 시점에서 배터리 충전 수준 ** 변경 **에 대한 알림 만 수신되지 않습니까? 요금이 여전히 동일하다는 것을 2 분마다 알아내는 데 중요한 점은 무엇입니까? – tiguchi
예, 맞습니다. 배터리를 5 분마다 확인하고 BroadcastReceiver가 매분마다 무언가를 받고 있다면 5 분마다 확인하는 것이 좋지 않습니까? 이 숫자는 임의적이지만, BroadcastReceiver가 지속적으로 청취 할 때 더 많은 메시지를 보낼 수 있다는 것이 핵심입니다. 내 구체적인 구현에서 더 좋지 않더라도, 더 좋은 방법을 확인할 수 있는지 궁금합니다. –