Android 용 Radius Networks iBeacon 라이브러리를 사용하여 첫 번째 Android 앱을 제작하고 있습니다. 라이브러리를 구현하는 것은 정말 쉽습니다. 저는 반쯤 괜찮은 데모 응용 프로그램을 사용하고 있습니다 (덕분에 많은 데비전입니다!).bt-hci btu_ble_process_adv_pkt는 여전히 iBeaconManager.unBind (이) 이후에 실행됩니다. onDestroy()라고합니다
나는 이제 꼬임 문제를 해결하려고 노력 중입니다. 내 응용 프로그램은 사용자가 3 개의 iBeacons 근처로 이동하여 3 개의 체크 박스를 체크해야하는 데모로 작동합니다. 그런 다음 버튼을 다시 사용하여 다시 시작할지 묻는 활동이 표시됩니다.
'completed'활동을 표시하는 함수도 'checkbox'(ranging) 활동을 finish()하고 onDestroy는 iBeaconManager의 unBind 메소드를 호출합니다.
간헐적으로 iBeacons를 다시 시작한 후에는 LogCat이 영원히 끊어집니다.
02-18 14:52:38.800: I/bt-hci(1392): BLE HCI(id=62) event = 0x02)
02-18 14:52:38.800: I/bt-hci(1392): btu_ble_process_adv_pkt
02-18 14:52:38.850: I/bt-hci(1392): BLE HCI(id=62) event = 0x02)
02-18 14:52:38.850: I/bt-hci(1392): btu_ble_process_adv_pkt
02-18 14:52:38.910: W/bt-btif(1392): bta_dm_ble_observe BTM_BleObserve failed. status 2
02-18 14:52:38.980: I/bt-hci(1392): BLE HCI(id=62) event = 0x02)
대개 앱의 두 번째/세 번째 런에서 발생합니다. 내 직감은 때문에
iBeaconManager.unBind(this);
제대로 BT 스택을 해제하지에 실패, 그래서 두 개의 인스턴스가 겹치는 결말의 것입니다.
아무데도 갈 수없는 지점에 도달했기 때문에 누구나이 부분을 밝힐 수 있습니까?
더 많은 코드를보고 싶다면 알려주십시오.
는
앤드류
사실 나는이 값을 같은 것으로 설정했고 400ms 이하로 설정했습니다. iBeaconManager.setForegroundScanPeriod (ranging_frequency); iBeaconManager.setBackgroundScanPeriod (100000); 누군가 아이디어가 있다면 BackgroundScan을 완전히 막을 수있는 방법이 있는지 알고 싶습니다. 환호 – roowilliams
아마도이 질문 자체는 문제가됩니다. IBeaconService는 IBeaconManager와 제대로 바인딩 해제()하면 완전히 중지되어야합니다. – davidgyoung