Socket.io Emitter.Listener()不适用于Android 9(API级别28)
我正在尝试从android连接节点服务器套接字用于实时订单跟踪,在版本9的android设备中我无法连接到服务器,但在较低版本中工作正常。我并没有从服务器获取LatLog,但它正在较低的设备中获取。 我使用FCM也用于通知目的Socket.io Emitter.Listener()不适用于Android 9(API级别28),android,socket.io,Android,Socket.io,我正在尝试从android连接节点服务器套接字用于实时订单跟踪,在版本9的android设备中我无法连接到服务器,但在较低版本中工作正常。我并没有从服务器获取LatLog,但它正在较低的设备中获取。 我使用FCM也用于通知目的 android:usesCleartextTraffic="true" 上述清单行在我的情况下不起作用 请在下面找到我的代码 private void ConnectSocket() { try { final JSONObj
android:usesCleartextTraffic="true"
上述清单行在我的情况下不起作用
请在下面找到我的代码
private void ConnectSocket() {
try {
final JSONObject objInit = new JSONObject();
// objInit.put ("user_joined", bookingKey);
objInit.put("user_joined", bookingKey);
if (socket == null) {
socket = IO.socket(Urls.socketUrl);
} else {
System.out.println("Socket is already connected");
}
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
socket.emit("user_joined", bookingKey);
locationList.clear();
}
}).on("authenticated", new Emitter.Listener() {
@Override
public void call(Object... args) {
}
}).on("event", new Emitter.Listener() {
@Override
public void call(Object... args) {
}
}).on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
}
}).on("newlocation", new Emitter.Listener() {
@Override
public void call(Object... args) {
}
})
.on(bookingKey, new Emitter.Listener() {
@Override
public void call(Object... args) {
final String taxiDetails = args[0].toString();
System.out.println("Received from Socket :" + args[0].toString());
try {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
try {
JSONObject Job_CarDetails = new JSONObject(taxiDetails);
String latitude = Job_CarDetails.getString("latitude");
String longitude = Job_CarDetails.getString("longitude");
if (locationList.size() == 0) {
MarkerOptions mMarkerOptions = new MarkerOptions().position(new LatLng(Double.parseDouble(latitude), Double.parseDouble(longitude)))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_van));
Marker mMarker = googleMap.addMarker(mMarkerOptions);
MarkerList markerList = new MarkerList();
markerList.setLatitude(latitude);
markerList.setLongitude(longitude);
markerList.setMarker(mMarker);
locationList.add(markerList);
} else {
LatLng mToPosition = new LatLng(Double.parseDouble(latitude), Double.parseDouble(longitude));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
});
if (!socket.connected()) {
try {
socket.connect();
socket.emit("user_joined", bookingKey);
locationList.clear();
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
}
}
如何修改代码,将9版设备连接到服务器??任何帮助都将不胜感激。此问题不是来自Android端,而是来自服务器端。引发此案例的原因是,当服务器移动到live Server时,本地服务器指向,套接字连接起作用。 谢谢