首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AltBeacon阻塞HTTP请求

AltBeacon阻塞HTTP请求
EN

Stack Overflow用户
提问于 2015-05-16 11:37:50
回答 1查看 111关注 0票数 0

在我的应用程序中,我有两个服务。一个是

代码语言:javascript
复制
 public AndroidUpnpService upnpService;

它来自于from库,并扫描无线局域网上的其他UPnP设备。

我把它绑成这样

代码语言:javascript
复制
 getApplicationContext().bindService(
            new Intent(this, AndroidUpnpServiceImpl.class),
            serviceConnection,
            Context.BIND_AUTO_CREATE
    );

一切都很好。

不过,只要我像这样绑定一个BeaconManager

代码语言:javascript
复制
beaconManager = BeaconManager.getInstanceForApplication(this);
beaconManager.bind(this);

我的UPnPService再也不能检测其他设备了。

我只收到以下错误消息

代码语言:javascript
复制
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)

是否有一种特定的方法,我必须设置这两个东西在一个应用程序中运行?我已经试过了

代码语言:javascript
复制
beaconManager.setBackgroundScanPeriod(10000l);

所以它只是每10秒扫描一次,这对于我想做的事情是完全没有问题的,但是它仍然不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-16 12:36:56

设置

代码语言:javascript
复制
beaconManager.setForegroundBetweenScanPeriod(10000l);

解决了这个问题。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30275173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档