반경 네트워크 'Android iBeacon Library 정확히 그 않습니다. 백그라운드에서 실행하기 위해서해야 할 일은 IBeaconManager
을 긴 수명주기의 항목에 바인딩하는 것입니다. 이 객체는 사용자 정의 android.app.Application
객체이거나 자신의 서비스 일 수 있습니다. 앱에 대한 자체 서비스를 이미 작성 했으므로 IBeaconManager
을 해당 서비스에 쉽게 바인딩 할 수 있으며 서비스가 실행되는 동안에는 백그라운드에서 계속 활성 상태로 유지됩니다. 원하는 경우 서비스를 사용하여 브로드 캐스트 인 텐트를 보낼 수도 있지만 대부분의 경우에는 필요하지 않을 수 있습니다.
배터리 사용량에 대해서는 라이브러리의 reference application에 라이브러리의 백그라운드 모드를 설정하는 방법에 대한 예제가 있으므로 스캔 횟수가 줄어들어 배터리가 절약됩니다.
@Override
protected void onPause() {
super.onPause();
if (iBeaconManager.isBound(this)) iBeaconManager.setBackgroundMode(this, true);
}
@Override
protected void onResume() {
super.onResume();
if (iBeaconManager.isBound(this)) iBeaconManager.setBackgroundMode(this, false);
}
true로 백그라운드 모드를 설정 블루투스는 한 번만 매우 오분 일이 스캔 감소 - 아이폰 OS가하는 일에 비슷한 : 그 참조 응용 프로그램의 관련 코드는 여기에있다. Nexus 4의 테스트 결과에 따르면 휴대 전화의 전체 배터리 소모량이 95mA에서 55mA로 감소합니다. 두 가지 수치는 전체 운영체제 소모량을 포함합니다.
전체 공개 : 나는 Radius Networks에서 근무하며 Android iBeaconLibrary.
안녕하세요, David 님, 많은 의견을 남기신 분들입니다. 내 구체적인 데모를 위해 지금 서비스와 알람으로 갔지만, 그렇지 않으면 API와 함께 완전히 갈 것입니다. –
IBeacon 클래스와 scanFromRecord 메소드가 매우 유용하다는 것을 알았습니다. 내가 이해할 수없는 한 가지는 라인 216이하는 일이다. 명백하게 추정치 비콘이 탐지되었지만 거의 "비어있는"IBeacon 클래스를 반환합니다. 이 레거시 코드가 있습니까? 방금 iBeacons을 견적서에서 받았고 작동합니다. BTW 나는 당신의 회사 비콘 및 서비스를 만져보고 시도하고 싶습니다. 우리는 어떻게 직접 연결할 수 있습니까? –
데모에 대해 이해합니다. 이것은 오픈 소스 프로젝트이므로 입력과 공동 작업자를 항상 찾고 있습니다. 아마도 우리는 – davidgyoung