0

У меня возникла проблема с выпуском iBeacon с устройства Android Android Nexus 6. У меня нет проблем с обнаружением маякового сигнала, который я испускаю с устройств Android или iTouch, но я не может найти сигнал с iPhone. Я использую библиотеку altbeacon и использую класс BeaconTransmitter. Я добавил отдельную тему.Проблема с iBeacon с устройством android 5.0

new Thread(new Runnable() { 
     @Override 
     public void run() { 
      mBeaconTransmitter = new BeaconTransmitter(CredentialActivity.this, new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24")); 
      beacon = new Beacon.Builder() 
        .setId1("BA39A880-799C-46FA-86AB-A4AC51927BAA") 
        .setId2("1") 
        .setId3(String.valueOf(selectedBouncer)) 
        .setManufacturer(0x0000) // Choose a number of 0x00ff or less as some devices cannot detect beacons with a manufacturer code > 0x00ff 
        .setTxPower(-59) 
        .setDataFields(Arrays.asList(new Long[]{0l})) 
        .build(); 
       mBeaconTransmitter.startAdvertising(beacon); 
     } 
    } 
    ).start(); 
} 

ответ

3

Несколько моментов:

  • Код называют .setDatafields(), но формат не имеет полей данных ("d:" префикс) определены. Вызов .setDatafields() должен быть удален.

  • Код производителя должен совпадать с кодом производителя Bluetooth SIG компании, владеющей типом маяка, который вы эмулируете. Вы можете увидеть полный список из двух байт-кодов here.

Кроме того, вы можете убедиться, что один из следующих приложений в работе Google Play Маркет на устройстве, так что вы можете убедиться, что вы не имеют некоторые проблемы с настройкой оборудования. Эти приложения, как известно, работать, чтобы передавать IBeacon рекламу на Nexus 6, и они используют ту же библиотеку под капотом:

+0

Добавлен то, что вы положили в, и это работало как шарм! Мы будем использовать это приложение на коммерческой основе без каких-либо знаний, которые устройства будут считывать в этом маяке. Если я установлю идентификатор производства на яблоки, будет ли он работать на всех устройствах еще? Я вижу, что он работает с моим samsung s4. Если да, могу ли я создать дополнительные экземпляры BeaconTransmitter, чтобы позаботиться об этой проблеме? –

+0

Как правило, производители маяков будут стандартизировать один корпоративный код для формата маяка, поэтому я не думаю, что у вас возникнут проблемы, и я не думаю, что вам нужно создать дополнительные экземпляры BeaconTransmitter. Если вы хотите одновременно передавать два разных формата маяка, скажем, AltBeacon и iBeacon, то да, возможно, вы захотите это сделать. – davidgyoung

Смежные вопросы