Не удается открыть сокет при входящем звонке
Я пытаюсь отправить данные на сервер при входящем звонке через мобильные данные (4G). Я получаю одну из этих ошибок:
java.net.UnknownHostException: хост не разрешен: xyz.xy
или же
java.net.SocketTimeoutException: не удалось подключиться к /xxx.xxx.xxx.xxx (порт гггггг) через 15000 мс
Когда включен WIFI, данные отправляются во время входящего звонка.
Вот часть кода:
Socket socket = new Socket();
DataOutputStream dos;
DataInputStream dis;
try {
socket.connect(new InetSocketAddress(SERVER_IP, SERVER_PORT), CONNECTION_TIMEOUT);
socket.setTcpNoDelay(true);
socket.setSoTimeout(READ_TIMEOUT);
dos = new DataOutputStream(socket.getOutputStream());
dis = new DataInputStream(socket.getInputStream());
int count = text.getBytes("UTF-8").length;
ByteBuffer data = ByteBuffer.allocate(count);
data.put(text.getBytes("UTF-8"));
dos.write(data.array(), 0, data.array().length);
Проблема при отправке данных через мобильный телефон (4G) при входящем звонке? Или мне не хватает каких-либо настроек?
РЕДАКТИРОВАТЬ
Я читал, если телефон поддерживает технологию SVDO или 4G LTE, модем может принимать вызов и отправлять данные. У моего телефона Xiaomi Redmi 3S есть эта технология.
1 ответ
Я нашел проблему. Проблема в операторе и технологии VoLTE. В Чехии это можно сделать только с оператором O2 см. Форум. В Samsung Galaxy S7 это работает.