gpt4 book ai didi

android - 如何使用 Traccar API 获取实时位置?

转载 作者:行者123 更新时间:2023-11-29 19:01:07 27 4
gpt4 key购买 nike

我们试图通过将 Traccar API 与 Retrofit2 结合使用来获取设备位置的实时更新,直到现在,我们只能在应用程序启动时获取位置(Android 应用程序)。

最佳答案

要获得实时更新,您应该使用 WebSocket 连接到 Traccar 服务器。 Retrofit 不支持类似的东西,所以你应该直接使用 OkHttp:

Request request = new Request.Builder().url(retrofit.baseUrl().url().toString() + "api/socket").build();
webSocket = WebSocketCall.create(client, request);
webSocket.enqueue(new WebSocketListener() {
@Override
public void onOpen(WebSocket webSocket, Response response) {
}

@Override
public void onFailure(IOException e, Response response) {
reconnectWebSocket();
}

@Override
public void onMessage(ResponseBody message) throws IOException {
final String data = message.string();
handler.post(new Runnable() {
@Override
public void run() {
try {
handleMessage(data);
} catch (IOException e) {
Log.w(MainFragment.class.getSimpleName(), e);
}
}
});
}

@Override
public void onPong(Buffer payload) {
}

@Override
public void onClose(int code, String reason) {
reconnectWebSocket();
}
});

有关更多信息,您可以查看官方 Traccar Manager 应用程序(原生版本):

https://github.com/tananaev/traccar-manager-android/tree/native

关于android - 如何使用 Traccar API 获取实时位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49037036/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com