Как программно установить идентификатор сообщения iBeacon (UUID, Major, Minor) в Android (для собственного мобильного устройства)? - PullRequest
0 голосов
/ 26 ноября 2018

Мое приложение должно передавать через Bluetooth сообщение iBeacon.Сообщение iBeacon должно быть зафиксировано в определенном UUID, Major и Minor.

Как это можно сделать без использования сторонних приложений?(Я в порядке с библиотеками, я просто не хочу, чтобы пользователю понадобилось другое приложение, чтобы использовать это приложение. Я предпочитаю, чтобы это приложение было самостоятельным при использовании).

РЕДАКТИРОВАТЬ: Я имеюпостроил его только с Google ble документов, и любые другие библиотеки не были использованы.Хотя я открыт для реализации любых предложений, которые заставят его работать.

1 Ответ

0 голосов
/ 26 ноября 2018

Самый простой способ сделать это - использовать библиотеку Android Beacon , которая является полностью бесплатной и с открытым исходным кодом.

  1. Добавьте это в зависимости от build.gradle:

     dependencies {
        implementation 'org.altbeacon:android-beacon-library:2+'
     }
    
  2. Вставьте этот код, чтобы запустить передатчик:

     Beacon beacon = new Beacon.Builder()
        .setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6")
        .setId2("1")
        .setId3("2")
        .setManufacturer(0x004c)
        .setTxPower(-59)
        .build();
     BeaconParser beaconParser = new BeaconParser()
        .setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24");
     BeaconTransmitter beaconTransmitter = new 
     BeaconTransmitter(getApplicationContext(), beaconParser); 
     beaconTransmitter.startAdvertising(beacon);
    

Если вы действительно не хотите компилировать с третьимParty Party, вы можете скопировать исходный код для BeaconTransmitter, но сделать это сложнее:

https://github.com/AltBeacon/android-beacon-library/blob/master/src/main/java/org/altbeacon/beacon/BeaconTransmitter.java

...