AltBeacon阻止HTTP请求

时间:2015-05-16 11:37:50

标签: android jetty altbeacon

在我的申请中,我有两项服务。一个是

 public AndroidUpnpService upnpService;

来自Cling Library并扫描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秒扫描一次,这对于我想做的事情来说完全没问题,但它仍然不起作用。

1 个答案:

答案 0 :(得分:0)

设置

p:lightbox

解决了这个问题。

setForegroundScanPeriod / setBackgroundScanPeriod只会延长扫描信标所需的时间。