我开发了一个wear os 2.0+应用程序,可以与HTTP API进行通信。我正在使用截取连接到此API,但它似乎只有在我关闭蓝牙时才起作用。我使用蓝牙发出的任何请求都只是超时。另一端通常在毫秒内响应,并返回不超过几千字节。
穿戴操作系统应用程序可以发出网络请求。当手表有蓝牙时
连接到手机,手表的网络流量通常是
通过电话代理。但当手机不可用时,Wi-Fi和
使用蜂窝网络,具体取决于硬件。磨损
平台处理网络之间的转换。
因此,据我所知,安卓应该注意确保我的请求能够通过蓝牙(通过手机代理)或wifi到达另一端。
public <T> CompletableFuture<T> send(String url, Class<T> type) {
CompletableFuture<T> requestCompletableFuture = new CompletableFuture<>();
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
response -> {
T data = serializer.fromJson(response.toString(), type);
requestCompletableFuture.complete(data);
}, (ex) -> {
requestCompletableFuture.completeExceptionally(ex);
});
request.setRetryPolicy(new DefaultRetryPolicy(15000,
0,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(request);
return requestCompletableFuture;
}
Android确实提供了一个连接管理器(ConnectivityManager),让我能够请求WIFI网络。但创建一个我不需要的高带宽网络听起来有点不必要,而且电池耗尽了我试图阻止的东西。