Android 设备作为虚拟 ibeacon
Android Device as virtual ibeacon
我正在尝试使用 alt beacon 库将我的 android 设备设为虚拟 iBeacon,我能够将我的设备设为 iBeacon,但它未在 iOS(核心位置) 或 Android 台设备。这是我使用的代码
Beacon beacon = new Beacon.Builder()
.setId1("UUID")
.setId2("101")
.setId3("201")
.setManufacturer(0x0075)
.setTxPower(-59)
.setDataFields(Arrays.asList(new Long[]{0l}))
.build();
BeaconParser beaconParser = new BeaconParser()
.setBeaconLayout(BeaconParser.ALTBEACON_LAYOUT);
BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser);
beaconTransmitter.startAdvertising(beacon, new AdvertiseCallback() {
@Override
public void onStartSuccess(AdvertiseSettings settingsInEffect) {
super.onStartSuccess(settingsInEffect);
Log.d(TAG, "Transmission started");
}
@Override
public void onStartFailure(int errorCode) {
super.onStartFailure(errorCode);
Log.e(TAG, "Transmission failed with error code : " + errorCode);
}
});
您无法使用 iOS 上的 CoreLocation 检测 AltBeacon 格式(在 BeaconParser.ALTBEACON_LAYOUT
显示的代码中指定)。您只能使用 iOS API 检测 iBeacon。要切换到 iBeacon 传输,您必须:
使用正确的 iBeacon 布局。这是专有的,因此出于知识 属性 的原因不属于库的一部分,但您可以在此处找到要使用的布局:https://beaconlayout.wordpress.com/
Apple 设备只会检测使用 Apple 蓝牙制造商代码 0x004c 的信标。您需要更改显示 .setManufacturer(0x0075)
的行以使用 Apple 的值。
我正在尝试使用 alt beacon 库将我的 android 设备设为虚拟 iBeacon,我能够将我的设备设为 iBeacon,但它未在 iOS(核心位置) 或 Android 台设备。这是我使用的代码
Beacon beacon = new Beacon.Builder()
.setId1("UUID")
.setId2("101")
.setId3("201")
.setManufacturer(0x0075)
.setTxPower(-59)
.setDataFields(Arrays.asList(new Long[]{0l}))
.build();
BeaconParser beaconParser = new BeaconParser()
.setBeaconLayout(BeaconParser.ALTBEACON_LAYOUT);
BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser);
beaconTransmitter.startAdvertising(beacon, new AdvertiseCallback() {
@Override
public void onStartSuccess(AdvertiseSettings settingsInEffect) {
super.onStartSuccess(settingsInEffect);
Log.d(TAG, "Transmission started");
}
@Override
public void onStartFailure(int errorCode) {
super.onStartFailure(errorCode);
Log.e(TAG, "Transmission failed with error code : " + errorCode);
}
});
您无法使用 iOS 上的 CoreLocation 检测 AltBeacon 格式(在 BeaconParser.ALTBEACON_LAYOUT
显示的代码中指定)。您只能使用 iOS API 检测 iBeacon。要切换到 iBeacon 传输,您必须:
使用正确的 iBeacon 布局。这是专有的,因此出于知识 属性 的原因不属于库的一部分,但您可以在此处找到要使用的布局:https://beaconlayout.wordpress.com/
Apple 设备只会检测使用 Apple 蓝牙制造商代码 0x004c 的信标。您需要更改显示
.setManufacturer(0x0075)
的行以使用 Apple 的值。