-1

나는이 Error code 2 in beacon transmitter for Android Beacon library 코드로 송신기 앱을 만들었고 iBeacon으로 송신 할 수있었습니다.비콘 라이브러리 - 송신기

문제 1 : 더 이상 내가 최근 사용에서 응용 프로그램 (? 내가 전경 서비스에서이 전화를해야 모든 내장 API를 altbeacons 라이브러리에서)

문제 2를 죽였다면 전송할 수 응용 : 나는 필요 접속이 확립 된 후 10 문자의 String를 스캐너에 보내지 만, 6 자리 만 허용하는 setDataFields().

+0

어떤 장치 모델 및 운영 체제 버전을 사용하고 있습니까? 문제 1과 관련하여, 앱을 죽이기 전에 재부팅 후 전송을 시도하면 성공적으로 전송되는 것을 볼 수 있습니까? – davidgyoung

+0

Moto G5 plus with Android N. 재부팅 후 시작되지 않았습니다. 해야 응용 프로그램 클래스 하위 클래스 및 전송에도 비콘 클래스 참조를 보유해야합니까? 자동 시작으로 변경해야합니까? – nags

+0

문제점 2에 대한 단서를 제공하십시오. 고유 한 코드로 특정 장치 (신호 장치)를 식별 할 수없는 경우 해당 서비스를 사용하는 사람에 대한 분석을 얻을 수 없습니다. 블루투스 주소는 다른 모든 연결마다 달라 지므로 비콘을 고유하게 식별하는 데 사용할 수 없습니다. – nags

답변

0

백그라운드에서 Android 앱을 계속 실행하는 것은 약간 까다 롭습니다. 전송기를 계속 사용하기 위해해야 ​​할 일이 있습니다.

Android Beacon Library는 스캔 용도로이 작업을 자동으로 수행하므로 라이브러리의 참조 앱을 시작점으로 사용하고 Application 클래스의 onCreate 메소드에 전송을 시작할 수 있습니다.

이렇게하면 Android 5-7에서 송신기가 거의 영원히 유지됩니다. Android 8에서는 전경 서비스를 구축하지 않는 한 매 15 초마다 백그라운드에서 5 분 정도만 실행하는 것으로 제한됩니다.

편집

는 데이터의 여러 바이트를 광고하고자하는 경우, 가장 좋은 건 16 바이트 ID1 (ProximityUUID) 필드에 인코딩하는 것입니다. 첫 번째 몇 바이트를 예약하여 비컨이 본인인지 아닌지를 결정한 다음 마지막 10 바이트 정도를 사용하여 데이터를 인코딩 할 수 있습니다. 수신 측에서는 identifier.getBytes()을 사용하여 첫 번째 식별자를 바이트 배열로 변환 할 수 있으므로 내부의 데이터 요소에 액세스 할 수 있습니다.

+0

감사합니다. 문제 1은 송신기에서 스캐너로 또는 그 반대로 데이터를 전송하는 방법을 해결했습니다 (문제 2). – nags

+0

제 편집을 참조하십시오. – davidgyoung