2015-05-16 3 views
0

В моем приложении у меня есть две службы. Один из них -Блокировка AltBeacon HTTP-запросы

public AndroidUpnpService upnpService; 

, который находится в библиотеке Cling и сканирует WLAN для других устройств UPnP.

Я привязывая его, как этот

getApplicationContext().bindService(
      new Intent(this, AndroidUpnpServiceImpl.class), 
      serviceConnection, 
      Context.BIND_AUTO_CREATE 
    ); 

и все работает отлично. не

Как только я связать BeaconManager как это, хотя

beaconManager = BeaconManager.getInstanceForApplication(this); 
beaconManager.bind(this); 

мой UPnPService уже не в состоянии обнаружить другие устройства.

я только получаю сообщения об ошибках, как следующий

W/StreamClient﹕ HTTP connection failed: (StreamRequestMessage) GET http://192.168.178.27:53447/upnp/dev/{some address}/desc 
libcore.io.ErrnoException: isConnected failed: EHOSTUNREACH (No route to host) 
     at libcore.io.IoBridge.isConnected(IoBridge.java:208) 
     at libcore.io.IoBridge.connectErrno(IoBridge.java:161) 
     at libcore.io.IoBridge.connect(IoBridge.java:112) 
     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192) 
     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459) 
     at java.net.Socket.connect(Socket.java:843) 
     at java.nio.SocketChannelImpl$SocketAdapter.connect(SocketChannelImpl.java:532) 
     at org.eclipse.jetty.client.SelectConnector.startConnection(SelectConnector.java:79) 
     at org.eclipse.jetty.client.HttpDestination.startNewConnection(HttpDestination.java:275) 
     at org.eclipse.jetty.client.HttpDestination.doSend(HttpDestination.java:566) 
     at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:504) 
     at org.eclipse.jetty.client.HttpClient.send(HttpClient.java:165) 
     at org.fourthline.cling.transport.impl.jetty.StreamClientImpl$2.call(StreamClientImpl.java:114) 
     at org.fourthline.cling.transport.impl.jetty.StreamClientImpl$2.call(StreamClientImpl.java:108) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
     at java.lang.Thread.run(Thread.java:841) 

Есть конкретный способ, которым я должен установить это, чтобы получить и то и другое работает в одном приложении? Я уже попытался установить

beaconManager.setBackgroundScanPeriod(10000l); 

так он сканирует только каждые 10 секунд, что является совершенно нормально, что я хочу сделать, но он по-прежнему не работает.

ответ

0

Установка

beaconManager.setForegroundBetweenScanPeriod(10000l); 

решает эту проблему.

setForegroundScanPeriod/setBackgroundScanPeriod просто увеличивает время сканирования скачек.