Как запустить для периодических c обнаружений с Android Beacon Library - PullRequest
0 голосов
/ 24 марта 2020

В http://www.davidgyoungtech.com/2017/08/07/beacon-detection-with-android-8 я хочу сделать тест «Новый путь: Периоды c Обнаружения»

o используемая программа: эталонное приложение для библиотеки Android Beacon в https://github.com/AltBeacon/android-beacon-library-reference

о моем решении для периода c в приложении BeaconReferenceApplication. java

    ~~ skip ~~
    beaconManager.enableForegroundServiceScanning(builder.build(), 456); // not sure to use or not
    beaconManager.setEnableScheduledScanJobs(true);   // Changed to true for a scheduled job
    beaconManager.setBackgroundBetweenScanPeriod(0);
    beaconManager.setBackgroundScanPeriod(15*60*1000); // 15min

    beaconManager.setForegroundBetweenScanPeriod(0);  
    beaconManager.setForegroundScanPeriod(1100);

    // Android limits the frequency of scheduled jobs to be at most every 15 minutes
    // when an app is on the background. So any setting smaller than 15 minutes will automatically
    // be converted by the operating system to run every 15 minutes


    Region region = new Region("entrance",
            Identifier.parse("BCFABEFC-B1F5-4836-5152-7C5412FFF9C4"),
            Identifier.fromInt(20200), Identifier.fromInt(101)); 
    Region region2 = new Region("lobby",
            Identifier.parse("BCFABEFC-B1F5-4836-5152-7C5412FFF9C4"),
            Identifier.fromInt(20200), Identifier.fromInt(102)); 

    List<Region> regions = new ArrayList<>();
    regions.add(region);
    regions.add(region2);

    regionBootstrap = new RegionBootstrap(this, regions);
    ~~ skip ~~

Вопрос (1): при запуске с вышеупомянутая настройка, я жду более 25 минут, и ничего не выходит в отладке. Как сделать для periodi c ScheduledScanJobs в фоновом режиме?

1 Ответ

0 голосов
/ 30 марта 2020

Это поможет иметь запланированные сканирования

  beaconManager.setEnableScheduledScanJobs(true); # with this marked true , you will not be able to run background service

  beaconManager.setBackgroundBetweenScanPeriod(200l);  beaconManager.setBackgroundScanPeriod(1100);

Периоды сканирования переднего плана

   beaconManager.setForegroundScanPeriod(100);beaconManager.setEnableScheduledScanJobs(true);  
...