2013-12-13 5 views
1

내 IBeacon 서비스에 radiusnetworks Android API를 사용하고 있습니다. 그들의 문서에 따르면, "범위를 만들 때,이 필드들 중 일부 또는 전부는 null로 설정 될 수 있습니다. 이것은 와일드 카드이고 어떤 값과도 일치 함을 나타냅니다." 그러나 proximityUUID null로 영역을 만들면 null 포인터 예외가 발생합니다. 다음은 스택입니다.Android IBeacon - RadiusNetworks API가있는 지역에서 proximityUUID에 와일드 카드 사용

Thread [<1> main] (Suspended (exception NullPointerException)) 
<VM does not provide monitor information> 
RegionData(Region).hashCode() line: 140 
HashMap.containsKey(Object) line: 332 
IBeaconService.startRangingBeaconsInRegion(Region, Callback) line: 262 
IBeaconService$IncomingHandler.handleMessage(Message) line: 151 
IBeaconService$IncomingHandler(Handler).dispatchMessage(Message) line: 99 

proximityUUID를 값으로 설정하면 이런 일이 발생하지 않습니다. 아무도이 라이브러리를 사용하지 않았고 근접 uuid를 null로 설정하려고 시도 했습니까? 영역에서 전공 및 미성년자 ProximityUuid가 null이 될 수 있지만

답변

0

, 당신은 생성자에 첫 번째 매개 변수 인 "UNIQUEID"에 대한 몇 가지 값을 제공해야합니다

new Region("com.myappname.myregiondescriptor", null, null, null); 

이 작동을하지만, 다음과 같은 당신이 설명하는 오류를 줄 것이다 :

new Region(null, null, null, null); 

첫 번째 매개 변수는 iBeacon 식별자와 관련이 없습니다. 이는 앱의 고유 한 참조 문자열로 사용되므로 IBeaconManager에 동일한 uniqueId 문자열이있는 영역을 전달하여 나중에 범위 지정/모니터링을 취소 할 수 있습니다. 원하는 값을 지정할 수는 있지만 동일한 uniqueId 값을 가진 두 번째 Region에서 모니터링 또는 범위 지정을 시작하면 은 Region이 현재 모니터링되고있는을 대체합니다.