안드로이드 ble 전문가 님들에게 질문 합니다
조회수 2627회
mAdvSettings = new AdvertiseSettings.Builder()
.setAdvertiseMode( AdvertiseSettings.ADVERTISE_MODE_LOW_LATENCY )
.setTxPowerLevel( AdvertiseSettings.ADVERTISE_TX_POWER_HIGH )
.setConnectable( false )
.build();
ParcelUuid pUuid = new ParcelUuid( UUID.fromString( "CDB7950D-73F1-4D4D-8E47-C090502DBD63"));
mAdvData = new AdvertiseData.Builder()
.addServiceUuid( pUuid )
.addServiceData( pUuid, "aa".getBytes( Charset.forName( "UTF-8" ) ) )
.build();
mAdvScanResponse = new AdvertiseData.Builder()
.setIncludeDeviceName(true)
.build();
....
mAdvertiser = mBluetoothAdapter.getBluetoothLeAdvertiser();
mAdvertiser.startAdvertising(mAdvSettings, mAdvData, mAdvScanResponse, mAdvCallback);
안드로이드 코드에서 위 와 같이 advertsing 메세지를 만들어 beacon 신호를 만들고자합니다 그래서 setConnectable 을 false로 주어 non-connectable 상태로 만드려고했는데
nordic 에서 판매하는 BLE dongle로 ble 패킷을 확인해보니 아래와 같이 Advertising Type이 Discoverable 으로 나옵니다.
제가 주변에 테스트 중인 비콘 모듈에서는 Advertising Type 이 non-connectable 로 잘 표시됩니다.
하지만 Samsubng Galaxy S7 edge 에서 위에 남긴 코드로 돌리면 Discoverable type으로 표시되구요.. 이를 non-connectable type으로 변경하기 위해서는 어떻게 해야하며
변경을 하지 못한다고 한다면 Discoverable type과 non-connectable type의 차이점을 알고 싶습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
해결 하였습니다.
mAdvertiser.startAdvertising(mAdvSettings, mAdvData, mAdvScanResponse, mAdvCallback);
이부분에서 mAdvScanResponse 파라미터를 사용하지 않는 startAdvertising 메서드를 사용하면 non=connectable type으로 전송되되군요. ^
mAdvertiser.startAdvertising(mAdvSettings, mAdvData, mAdvCallback); 요롷게
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력