可以使用android-beacon-library提供的方法来获取iBeacon的服务数据。具体步骤如下:
private static final String IBEACON_FORMAT = "IBeacon (proximityUUID:major:minor)";
private static final String[] IBEACON_SCAN_FILTERS = { "m:2-3=0215", "i:4-19" };
//添加服务UUID
private static final String[] IBEACON_SCAN_FILTERS_WITH_UUID = {
            "m:2-3=0215",
            "i:4-19",
            "s:20-21=UUID",
            "s:22-23=UUID",
            "s:24-25=UUID",
            "s:26-27=UUID"};
//设置服务UUID
private static final String SERVICE_UUID = "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0";
@Override
public void onBeaconServiceConnect() {
    beaconManager.setRangeNotifier(new RangeNotifier() {
        @Override
        public void didRangeBeaconsInRegion(Collection beacons, Region region) {
            for (Beacon beacon : beacons) {
                //获取服务数据
                byte[] serviceData = beacon.getServiceData();
                if (serviceData != null) {
                    //解析服务数据
                    parseServiceData(serviceData);
                }
            }
        }
    });
    try {
        //开始范围查找
        beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));
    } catch (RemoteException e) {
        e.printStackTrace();
    }
}
 
private void parseServiceData(byte[] serviceData) {
    if (serviceData.length > 3) {
        //获取服务UUID
        String uuid =